WordPress 配置文件wp-config.php中文详解与调优指南


在WordPress中,wp-config.php文件负责掌控着整个系统的常规配置信息,就像大脑一样。这些配置信息,包括数据库连接等重要信息,都被存储在这个文件中。

本文将带您深入了解一些常见的配置项和推荐值,为您提供调优建议,帮助您更好地发挥WordPress的性能。让我们一起揭开wp-config.php的神秘面纱,探寻其中蕴藏的宝藏吧!

什么是wp-config.php?

该文件是 WordPress 的全局配置文件,网站任何页面被访问时,它会随WordPress核心程序被加载。文件位于 WordPress 安装目录的根目录中。

如果wp-config.php文件采用PHP编码格式,如文件中包含了错误代码或语法错误会导致网站无法正常运行。

下载的 WordPress 安装包中不包含 wp-config.php文件,它由安装程序根据在安装过程中提供的信息自动创建。

wp-config.php详解与调优指南

数据库连接信息

// ** 数据库设置 - 您可以从您的网络主机获取此信息 ** //
/** WordPress 数据库的名称 */
define( 'DB_NAME', 'database_name' );

/** 数据库用户名 */
define( 'DB_USER', 'username' );

/** 数据库密码 */
define( 'DB_PASSWORD', 'password' );

/** 数据库主机名或IP地址 */
define( 'DB_HOST', 'localhost' );

/** 创建数据库表时使用的数据库字符集。 */
define( 'DB_CHARSET', 'utf8mb4' );

/** 数据库整理类型。 如果有疑问,请勿更改此设置。 */
define( 'DB_COLLATE', '' );

以上信息在WordPress安装时会根据所填写的信息自动生成,安装程序会自动验证数据库是否可连接成功,如数据库信息未更改,无需修改。当数据库信息发生变化时,必须修改此处相应的信息,例如:变更了数据库密码或连接地址等。

WordPress地址(URL)与 站点地址(URL)

define( 'WP_SITEURL', 'https://example.com' );
define( 'WP_HOME', 'https://example.com' );

如果未在配置文件中设置,WordPress将从数据库中读取这两项的值。如果手动设置的话,可以减少数据库读取次数,所以建议设置。

注意:如果配置文件中指定的URL与数据库存储的不同,将以配置文件中为准;URL后面不能加”/”。

启用多站点功能

define( 'WP_ALLOW_MULTISITE', true );

WordPress是支持多站点模式的,但默认是关闭的,需要在wp-config.php文件中开启。

变更子目录路径

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/zhanzhangb-content' );

上面的示例将/wp-content目录的路径改为/zhanzhangb-content目录,包含原/wp-content目录下的所有子目录也跟随变更。例如原来的插件目录为:/wp-content/plugins变成了/zhanzhangb-content/plugins。

define( 'UPLOADS', '/zhanzhangb-content/uploads' );

上面的示例仅修改WordPress的默认上传目录路径,原/wp-content/uploads被变更为/zhanzhangb-content/uploads。

注意:一般情况下建议保持默认路径,插件或主题的开发者在编写代码时,不一定完全遵循WordPress推荐的规范手册,所以有可能导致部分插件或主题运行出错。

另外/wp-content/uploads路径如果变更,原来上传的图片或文件需要做301/302跳转,否则出现404错误。

define( 'COOKIE_DOMAIN', 'www.example.com' );

如果网站URL为www.example.com,而图片、JS、CSS等静态资源使用CDN加速并启用cdn.example.com子域名,则推荐按以上示例设置。这样可以防止每次请求CDN子域上的静态内容时都发送 WordPress cookie。

设置自动保存间隔

define( 'AUTOSAVE_INTERVAL', 180 ); // 单位秒

编辑帖子时,WordPress 使用 Ajax 自动保存对帖子的修改,默认值为间隔 60 秒保存一次。如果需要关闭该功能,WordPress未提供相应值,但可以将时间间隔设置成86400秒(一天)或使用Perfmatters插件。

设置修订版本数量

define( 'WP_POST_REVISIONS', 3 );

WordPress默认情况下会将帖子内容的每次修订版本均保存,以便随时可恢复至指定版本的内容。虽然这个功能很棒,如果网站帖子很多的话,会让数据库变得臃肿。所以建议限制修订版本保存的数量。

上面的示例指定 WordPress 存储的最大修订版本数为最新的3份。

如果需要彻底关闭修订版本保存功能,则可参照下方示例:

define( 'WP_POST_REVISIONS', false );

增加WordPress的内存使用限制

define( 'WP_MEMORY_LIMIT', '64M' );

定义 WordPress 可以使用的最大内存量,默认值40M;如开启了多站点模式,默认值为64M。

define( 'WP_MAX_MEMORY_LIMIT', '512M' );

定义 WordPress与插件及主题可以使用的最大内存量,默认值256M。

如果使用一些额外的页面编辑器(例如:Elementor Pro),或功能较多的大型主题时,增加内存限制非常重要。

注意:WP_MEMORY_LIMIT或WP_MAX_MEMORY_LIMIT设置的内存量不能大于PHP配置文件(php.ini)中memory_limit设定的值。

禁用 WP Cron

define( 'DISABLE_WP_CRON', true );

每当网站有页面被访问时,WordPress会自动执行计划任务程序,例如定时发布帖子、维护任务、更新检查以及许多需要自动化功能的插件安排的任务。

如果网站在较长时间内无人访问,计划任务会被延期执行,直到有PHP 页面加载。反之如果网站访问非常频繁,在每次 PHP 页面加载期间,WP Cron都会检查数据库以查看是否有任何计划任务要执行,这会造成多余的资源消耗。

建议的做法是禁用 WP Cron,并通过服务器操作系统的计划任务定期执行WP Cron,例如:每5分钟运行一次或每10分钟运行一次。具体的设置方法详见本站的专门教程。

启用/关闭 WP_DEBUG 调试功能

define( 'WP_DEBUG', true ); //true为启用,false为关闭,默认关闭

在WordPress运行过程中,如果程序、插件或主题代码执行错误,默认不会显示错误详细情况,开启该功能便于开发者调试。非调试期间建议关闭。

修改或添加设置的方法

上述配置中,有部分常量是已在wp-config.php文件中定义了默认值,如修改则只需编辑wp-config.php文件并修改其值即可。如需添加常量,建议添加在/* Add any custom values between this line and the "stop editing" line. */行的下方。

注意PHP语句格式,每条语句结束时,后面需添加英文半角的”;“符号。

wp-config.php文件的安全设置

在wp-config.php文件中包含大量敏感信息,特别是数据库登录用户名与密码等,那么该文件内容绝不能被泄露。建议执行以下操作:

  • 将wp-config.php文件设置为440只读权限。以Linux系统为例,在WordPress目录下,执行 chmod 440 wp-config.php 命令。
  • 在WEB服务器中禁止wp-config.php文件的访问权限。以Nginx为例,在主机配置文件中添加:
location = /wp-config.php { deny all; }

如果WordPress安装在子目录,则示例如下:

location = /blog/wp-config.php { deny all; }

总结

本文是写给有一定基础的WordPress用户的,如果网站没有问题且你不明白设置会导致什么样的后果的话,不建议手动修改wp-config.php文件中的内容。

还有部分特殊的设置因不适合大部分网站,本文未介绍,可查阅WordPress官方文档(英文)。


➥ 继续阅读:

(原创作者):

版权声明:若无本站正式授权,禁止一切形式转载,侵权必究。