在您使用 WordPress 的过程中,您经常会遇到要求您编辑“wp-config.php”文件的教程。此文件非常重要,因为它控制着关键的 WordPress 设置,使其成为管理网站的强大工具。多年来,我们曾使用过无数的 WordPress 设置。这些经验让我们知道了 wp-config.php 文件的重要性,尤其是对于安全性、性能和故障排除而言。
在本文中,我们将教您如何在 WordPress 中编辑 wp-config.php 文件。我们还将分享我们多年来开发的一些佳实践。
什么是 wp-config.php 文件?
顾名思义,它是所有自托管 WordPress 站点的一部分的配置文件。
与其他核心 WordPress 文件不同,wp-config.php 文件不是 WordPress 内置的。
相反,它是在安装过程中为您的站点明确生成的。
WordPress 将您的数据库信息存储在 wp-config.php 文件中。如果没有此信息,您的 WordPress 网站将无法运行,并且您将收到“建立数据库连接时出错”的错误。
wp-config.php 文件除了数据库信息外,还包含其他几个设置。我们将在本文后面解释它们。
普通 WordPress 用户可能不需要频繁编辑 wp-config.php 文件。但是,了解如何编辑 wp-config.php 文件可以让你更熟练地管理 WordPress 网站。
由于此文件包含大量敏感信息,因此建议您不要随意修改它,除非您别无选择。
但是既然你正在阅读这篇文章,那么你需要编辑 wp-config.php 文件。下面是完成此操作而不造成混乱的步骤。
入门
wp-config.php 文件对于 WordPress 网站非常重要,一个小小的错误都可能导致您的网站无法访问。
这就是为什么在对您的 WordPress 网站进行任何重大更改之前,您应该始终创建完整的 WordPress 备份。
这可确保您的 WordPress 数据和设置得到备份,并在出现问题时可以恢复。
访问和编辑 wp-config.php 文件
wp-config.php 文件位于您的WordPress 托管服务器上。
您可以通过使用FTP 客户端或托管帐户控制面板中的文件管理器应用程序连接您的网站来访问它。
FTP 客户端允许您在服务器和计算机之间传输文件。Windows 用户可以安装 FileZilla、WinSCP 或 SmartFTP,而 Mac 用户可以选择 FileZilla、Transmit 或 CyberDuck。
首先,您需要使用 FTP 客户端连接到您的网站。您需要 FTP 登录信息,这些信息可以从您的网络主机处获取。如果您不知道您的 FTP 登录信息,您可以联系您的托管服务提供商的支持团队。
wp-config.php 文件通常位于您网站的根文件夹中,与其他文件夹(如 wp-includes、wp-content 和 wp-admin)位于一起。
只需右键单击文件并从菜单中选择“下载”即可。
您的 FTP 客户端现在将下载 wp-config.php 文件到您的计算机。您可以使用纯文本编辑器应用程序(如记事本或文本编辑)打开并编辑它。
编辑完成后,您只需使用 FTP 将其上传回您的网站即可。
然后您将看到一条消息,提示文件已存在,并带有一系列选项。选择“覆盖”并单击“确定”。
了解 wp-config.php 文件
开始之前,让我们先查看一下默认 wp-config.php 文件的完整代码。您还可以在此处查看此文件的示例。
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the installation.
* You don't have to use the website, you can copy this file to "wp-config.php"
* and fill in the values.
*
* This file contains the following configurations:
*
* * Database settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
*
* @package WordPress
*/
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** Database username */
define( 'DB_USER', 'username_here' );
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
/**#@+
* Authentication unique keys and salts.
*
* Change these to different unique phrases! You can generate these using
* the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
*
* You can change these at any point in time to invalidate all existing cookies.
* This will force all users to have to log in again.
*
* @since 2.6.0
*/
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' );
/**#@-*/
/**
* WordPress database table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the documentation.
*
* @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
*/
define( 'WP_DEBUG', false );
/* Add any custom values between this line and the "stop editing" line. */
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
wp-config.php 文件的每个部分都已在文件本身中详细记录。几乎所有设置都是使用 PHP 常量定义的。
define( 'constant_name' , 'value');
让我们仔细看看 wp-config.php 文件中的每个部分。
wp-config.php 文件中的 MySQL 设置
您的 WordPress 数据库连接设置出现在 wp-config.php 文件的“数据库设置”部分。
您将需要您的 MySQL 主机、数据库名称、数据库用户名和密码来完成此部分。
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** Database username */
define( 'DB_USER', 'username_here' );
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
以下是本节中常量的列表及其作用。
常量名称 | 描述 |
---|---|
数据库名称 | WordPress 数据库的名称。 |
数据库用户 | 用于访问 WordPress 数据库的用户名。 |
数据库密码 | 数据库用户名的密码。 |
数据库主机 | 数据库服务器的主机名(通常为“localhost”)。 |
数据库字符集 | 数据库服务器的主机名(通常为“localhost”)。 |
数据库排序规则 | 数据库的排序规则类型(通常留空)。 |
要填写这些值,您将需要数据库信息,您可以在您的网站托管帐户的控制面板中找到这些信息。
根据您的托管服务提供商,您的控制面板可能与以下屏幕截图略有不同。在这种情况下,您需要在托管帐户中查找“数据库”部分。
这将显示您网站的不同设置。
切换到“”选项卡,然后单击“cPanel”部分旁边的“管理”。
它将在新浏览器选项卡中打开 cPanel 界面。
从这里,您需要滚动到数据库部分并单击“MySQL 数据库”。
在 MySQL 数据库页面,您将找到当前数据库、用户名和密码的列表。
如果您找不到您的 WordPress 数据库或 MySQL 用户名和密码,那么您需要联系您的网络主机。
wp-config.php 文件中的 DB_CHARSET 和 DB_COLLATE 是什么?
‘DB_CHARSET’ 设置指定 WordPress 数据库表的字符集。默认值为 utf8,支持大多数语言并确保广泛的兼容性。
“DB_COLLATE”设置定义数据库如何排序和比较字符。
我们建议将其留空并让 MySQL 使用指定字符集的默认排序规则(utf8 为 utf8_general_ci)。
身份验证密钥和盐
身份验证密钥是 wp-config.php 文件中的安全功能。它们通过确保对存储在用户 cookie 中的信息进行强加密,为您的 WordPress 安装提供额外的保护。
总共有 8 种不同的密钥。每个密钥对都是一串随机的长文本数字和特殊字符。
每个键的作用如下:
常量名称 | 描述 |
---|---|
验证密钥 | 验证 cookie 并确保数据完整性。 |
安全认证密钥 | 使用 SSL 时保护身份验证 cookie。 |
登录密钥 | 验证已登录的 cookie。 |
NONCE_KEY | 保护随机数(一次性使用的数字)不被猜测。 |
验证盐值 | 为身份验证过程增加额外的安全性。 |
安全认证盐 | 为身份验证过程增加额外的安全性。 |
记录盐度 | 为登录过程增加额外的安全性。 |
NONCE_SALT | 为随机数创建和验证过程增加额外的安全性。 |
您可以通过访问WordPress.org 密钥生成器来生成新密钥。如果您怀疑有人试图访问您的 WordPress 管理区域,您也可以稍后更改它们。
有关更多信息,请查看我们的WordPress 安全密钥指南。
WordPress 数据库表前缀
默认情况下,WordPress 会将“wp_”前缀添加到其在数据库中创建的所有表中。
建议您在安装过程中将 WordPress 数据库表前缀更改为随机内容。
这将使黑客很难猜测您的 WordPress 表,并使您免受一些常见的SQL 注入攻击。
重要提示⚠️ :请注意,您无法更改现有 WordPress 站点的此值。要在现有 WordPress 站点上更改这些设置,请按照我们关于如何 更改 WordPress 数据库前缀的文章中的说明进行操作。
WordPress 调试模式
此设置对于学习 WordPress 开发或排除错误故障的用户特别有用。
默认情况下,WordPress 会隐藏 PHP 在执行代码时生成的通知。只需将调试模式设置为“true”即可显示这些通知。
这为开发人员查找错误提供了重要信息。如果您尝试解决 WordPress 网站上的问题,它也会有所帮助。
或者,您也可以选择保留错误和通知的日志。
路径设置
wp-config 文件的后一部分定义了路径。此指令告诉 WordPress 在哪里找到核心 WordPress 文件。
此指令之后,ABSPATH 用于加载wp-settings.php 文件。
这两个设置都不应改变。
要了解 WordPress 如何加载文件,请查看我们关于WordPress 后台工作原理的解释。它将逐步分解 WordPress 核心软件的工作原理。
有用的 wp-config.php 技巧和设置
到目前为止,我们已经介绍了默认的 wp-config.php 设置。现在,让我们检查一些其他设置。
这些设置是可选的,可以在需要时使用。它们可以帮助您排除错误并解决许多常见的 WordPress 错误。
在 WordPress 中更改 MySQL 端口和套接字
如果您的 WordPress 托管服务提供商对 MySQL 主机使用备用端口,那么您将需要更改 DB_HOST 值以包含端口号。
注意:这不是新行,但您必须编辑现有的 DB_HOST 值。
不要忘记将端口号 5067 更改为您的网络主机提供的任何端口号。
如果您的主机对 MySQL 使用套接字和管道,则需要按如下方式添加它:
使用 wp-config.php 文件更改 WordPress URL
将 WordPress 网站移动到新域名时,您可能需要更改 WordPress URL 。
您可以通过访问“设置”»“常规”页面来更改这些 URL。
您还可以使用 wp-config.php 文件更改这些 URL。如果您由于错误“太多直接问题”而无法访问 WordPress 管理区域,这将非常有用。
只需将这两行添加到您的 wp-config.php 文件中:
不要忘记用您的域名替换 example.com。
如果您的网站以 www 前缀编入索引,那么您需要相应地添加您的域名。
使用 wp-config.php 文件更改上传目录
默认情况下,WordPress 将您上传的所有媒体存储在 /wp-content/uploads/ 目录中。
如果您想将媒体文件存储在其他位置,可以在 wp-config.php 文件中添加以下代码行:
define( 'UPLOADS', 'wp-content/media' );
注意,上传目录路径是相对于 WordPress 中自动设置的 ABSPATH 的。在这里添加路径是行不通的。
禁用 WordPress 中的自动更新
WordPress 默认启用自动更新。这允许 WordPress 网站在有小更新可用时自动更新。
例如,如果您的网站正在运行 WordPress 6.6,并且发布了安全更新 6.6.1,那么 WordPress 将自动安装该更新。
但是,当 WordPress 6.7 发布时,系统会要求您启动更新。
虽然自动更新对于安全至关重要,但许多用户担心自动更新也会破坏他们的网站,使其无法访问。
将这一行代码添加到您的 wp-config.php 文件将禁用您的 WordPress 网站上的所有自动更新:
define( 'WP_AUTO_UPDATE_CORE', false );
限制 WordPress 中的帖子修订
WordPress 具有内置自动保存和修订功能。请参阅我们的教程,了解如何使用帖子修订撤消 WordPress 中的更改。
在大多数网站上,修订版占用的空间很小。然而,我们注意到,对于一些较大的网站,数据库备份的大小显著增加。
如果您运营一个大型网站,那么您可以限制想要在数据库中保留的修订数量。
只需将这行代码添加到您的 wp-config.php 文件中即可限制帖子存储的修订次数:
define( 'WP_POST_REVISIONS', 3 );
将 3 替换为您要存储的修订数量。
WordPress 现在将自动丢弃旧版本。但是,您的旧帖子修订仍存储在数据库中。请参阅我们的教程,了解如何在 WordPress 中删除旧帖子修订。
我们希望本文能帮助您了解如何编辑 WordPress 中的 wp-config.php 文件以及您可以使用它执行的所有有趣操作。您可能还想查看有关使用密码保护 WordPress 管理目录的文章或有关使用WordPress 管理栏的提示。