wp-config.php是WordPress最重要、最核心的配置文件之一,没有它,WordPress无法运行。它负责告诉WordPress如何连接数据库、如何启用调试模式、如何设置安全密钥等关键配置。

文件位置

默认位于WordPress根目录,即和wp-content、wp-admin、wp-includes同一级。

文件作用

连接数据库(MySQL/MariaDB)。

设置安全密钥(防止被篡改)。

定义调试模式(开发时很有用)。

设置文件权限(上传目录、权限等)。

覆盖默认设置(如内存限制、自动更新等)。

结构详解(按出现顺序)

1.数据库连接信息

define( 'DB_NAME', '你的数据库名' );
define( 'DB_USER', '你的数据库用户名' );
define( 'DB_PASSWORD', '你的数据库密码' );
define( 'DB_HOST', 'localhost' ); // 通常是 localhost,也可能是 IP 或 socket
define( 'DB_CHARSET', 'utf8mb4' ); // 推荐用 utf8mb4 支持 emoji
define( 'DB_COLLATE', '' ); // 通常留空,由 WordPress 自动处理

2.认证密钥(AuthenticationKeys&Salts)

这些是用来加密Cookie和会话的,强烈建议设置。

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

自动生成地址:https://api.wordpress.org/secret-key/1.1/salt/

3.数据表前缀

防止多个WordPress共用同一数据库时冲突。

$table_prefix = 'wp_'; // 建议改成如:wp_wodepress_

4. 调试模式

开发环境建议开启,生产环境务必关闭。

define( 'WP_DEBUG', true ); // 显示错误
define( 'WP_DEBUG_LOG', true ); // 写入 /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // 不直接显示错误

5. 自动更新设置

define( 'AUTOMATIC_UPDATER_DISABLED', true ); // 禁用自动更新
define( 'WP_AUTO_UPDATE_CORE', false ); // 禁用核心自动更新

6. 文件系统权限(可选)

define( 'FS_METHOD', 'direct' ); // 避免 FTP 提示
define( 'FS_CHMOD_DIR', 0755 );
define( 'FS_CHMOD_FILE', 0644 );

7. 内存限制

define( 'WP_MEMORY_LIMIT', '256M' ); // 前台
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // 后台

8. 禁用插件/主题编辑器

提高安全性、防止后台直接修改代码

define( 'DISALLOW_FILE_EDIT', true );

9. 强制 SSL

define( 'FORCE_SSL_ADMIN', true );

10. 多站点网络(Multisite)

define( 'WP_ALLOW_MULTISITE', true );

安全建议

将wp-config.php移动到 上一级目录(WordPress 会自动查找)。

设置权限为600(Linux):

chmod 600 wp-config.php

不要在版本控制(如 Git)中提交此文件。

示例完整配置(简化版)

<?php
define( 'DB_NAME', 'wp_db' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'wp_pass' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

define( 'AUTH_KEY',         '...' );
define( 'SECURE_AUTH_KEY',  '...' );
define( 'LOGGED_IN_KEY',    '...' );
// 其余密钥省略...

$table_prefix = 'wp_abc_';

define( 'WP_DEBUG', false );
define( 'DISALLOW_FILE_EDIT', true );
define( 'WP_MEMORY_LIMIT', '256M' );

if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}
require_once ABSPATH . 'wp-settings.php';

说明

修改后立即测试网站是否正常。

使用环境变量(如.env)管理敏感信息更安全(需插件支持)。

使用WP-CLI可快速生成配置:

wp config create --dbname=wp_db --dbuser=wp_user --dbpass=wp_pass

如果你有具体的配置问题(如“如何启用 Redis”、“如何设置多站点”),可以找更详细的教程学习,或者付费找专业人士解决。