WordPress数据库关键文件wp-config.php详解

wp-config.php文件概述

  1. /**
  2.  * WordPress基础配置文件。
  3.  *
  4.  * 这个文件被安装程序用于自动生成wp-config.php配置文件,
  5.  * 您可以不使用网站,您需要手动复制这个文件,
  6.  * 并重命名为“wp-config.php”,然后填入相关信息。
  7.  *
  8.  * 本文件包含以下配置选项:
  9.  *
  10.  * * MySQL设置
  11.  * * 密钥
  12.  * * 数据库表名前缀
  13.  * * ABSPATH
  14.  *

数据库信息

WordPress链接数据库需设定以下四个值:

  1. // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
  2. /** WordPress数据库的名称 */
  3. define('WP_CACHE', true); //Added by WP-Cache Manager
  4. define( 'WPCACHEHOME', 'C:\xxx\xxx\wp-content\plugins\wp-super-cache/' ); //Added by WP-Cache Manager
  5. define('DB_NAME', 'xxxxxx');
  6.  
  7. /** MySQL数据库用户名 */
  8. define('DB_USER', 'xxxxxx');
  9.  
  10. /** MySQL数据库密码 */
  11. define('DB_PASSWORD', 'xxxxxxxxx');
  12.  
  13. /** MySQL主机 */
  14. define('DB_HOST', 'localhost');
  15.  
  16. /** 创建数据表时默认的文字编码 */
  17. define('DB_CHARSET', 'utf8mb4');
  18.  
  19. /** 数据库整理类型。如不确定请勿更改 */
  20. define('DB_COLLATE', '');

在创建数据库前就需准备好数据库名称、用户名、密码,最后一个DB_HOST值可能比较难获得,最常见的是直接用“localhost”, 甚至你可以给数据库服务器指定一个备用端口。例如:

  1. define('DB_HOST', 'localhost:1234');
  2. define('DB_HOST', 'mysql.domain.tld:1234');

还有一种更好的方法就是自动检测数据库服务器值:

  1. define('DB_HOST', $_ENV{DATABASE_SERVER});

数据库字符集和整理(collation)

你可以给MySQL数据库指定字符集。一般来说,不需要修改默认字符集UTF-8,因为它支持所有的语言。注意,如果wp-config.php文件里,这一字符集已经存在,你只能使用此字符集。下面是默认的设置,也是我推荐大家使用的设置:

  1. define('DB_CHARSET', 'utf8');

还可以指定collation(校勘/整理),对你的数据库字符集排序。Collation的设置通常由MySQL依据字符集自动处理的,在默认设置里的collation值保留空白就可以。默认的设置:

  1. define('DB_COLLATE', '');

安全密匙

截至WordPress 4.xx后有8个安全密匙来加密cookies。这些密匙只需让它默默无闻地工作就好,并尽可能随意和复杂(你无需记住)。生成这些密匙的最简单方法就是通过WordPress官方密匙服务来自动生成。只要点击这个服务,复制并粘贴生成的结果到wp-config.php 文件中即可。注意,这些密匙可随时更改,这样一来,用户之前的cookies会被清除需要重新登陆你的网站。

  1. define('AUTH_KEY',         'K^M{X4m_q bux?X!Jum2_mnn=y:b2M._]-,lg_(^2PJu6-;?-|4:K[0qdII*[YfY');
  2. define('SECURE_AUTH_KEY',  'Xh,;hV8)-eUu+|w(.[email protected]!/q[~@]bC.s+!P,)5vun;B2b_45|IB/|I=x[#I');
  3. define('LOGGED_IN_KEY',    '8$HO+Ytb69SXNcKpDj5`;/?ijM|8h_dhV!,*Q|R+:RCUBYKNOG?**?~wTj5vOb->');
  4. define('NONCE_KEY',        'Yq?EXO%H{mWq~JnS-zXxi..[email protected]}-~rqu6}H;[email protected]#1MoFl,n<WigQgL;>YRksG%F');
  5. define('AUTH_SALT',        'M.y;J!5|jx^,]9T|7YSxmk&,e(/5V&+r4Lr+076.1>_3M|]^KBk)]+6Nc+*^.x(:');
  6. define('SECURE_AUTH_SALT', 'lf?Mq&K>[email protected]+Oq=6t|:j)2pgSbZ9}@; E}SA4azpvW`^ 2$I7o^Y{d<|0%M|`PTc');
  7. define('LOGGED_IN_SALT',   'v|[l##c[9!NHS3.)>^v8mHQo$>6<0bCw/t}=|`<-,c- S&2bnC;p8t.j%z-?c]hI');
  8. define('NONCE_SALT',       '#jMZV%&^v:6FJ&8st4|G.nq:U~LS&9{f6egITEK5?S39WJ%p=96uR;7L7!iD%+S|');

WordPress数据表前缀

  1. /**
  2.  * WordPress数据表前缀。
  3.  *
  4.  * 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
  5.  * 不同的数据表前缀。前缀名只能为数字、字母加下划线。
  6.  */
  7. $table_prefix  = 'wp_';

有很多攻击者就是对准这些默认前缀的数据库进行攻击。稍微修改为如: “ch_”之类的可避免此类攻击。把wp改成你的数据库前缀,你还可以使用此设置实现在一个数据库中安装多个WordPress站点,只要给每一个WordPress指定一个单独的数据库前缀即可:

  1. $table_prefix = 'wp1_'; // 第一个博客
  2. $table_prefix = 'wp2_'; // 第二个博客
  3. $table_prefix = 'wp3_'; // 第三个博客

开发者专用:WordPress调试模式

  1. /**
  2.  * 开发者专用:WordPress调试模式。
  3.  *
  4.  * 将这个值改为true,WordPress将显示所有用于开发的提示。
  5.  * 强烈建议插件开发者在开发环境中启用WP_DEBUG。
  6.  *
  7.  * 要获取其他能用于调试的信息,请访问Codex。
  8.  *
  9.  * @link https://codex.wordpress.org/Debugging_in_WordPress
  10.  */
  11. define('WP_DEBUG', false);

zh_CN本地化设置:启用ICP备案号显示

  1. /**
  2.  * zh_CN本地化设置:启用ICP备案号显示
  3.  *
  4.  * 可在设置→常规中修改。
  5.  * 如需禁用,请移除或注释掉本行。
  6.  */
  7. define('WP_ZH_CN_ICP_NUM', true);

发布日期:

所属分类: Wordpress, Wordpress 综合 标签: