您是否阅读过要求您编辑 wp-config 文件的教程,但您不知道它是什么?好吧,我们已经为您提供了保障。在本文中,我们将向您展示如何在 WordPress 中正确编辑 wp-config.php 文件。
什么是 wp-config.php 文件?
顾名思义,它是一个配置文件,是所有自托管 WordPress 网站的一部分。
与其他文件不同,wp-config.php 文件不是 WordPress 内置的,而是在安装过程中专门为您的网站生成的。
WordPress 将数据库信息存储在 wp-config.php 文件中。如果没有此信息,您的 WordPress 网站将无法运行,并且您将收到“建立数据库连接时出错”错误。
除了数据库信息之外,wp-config.php 文件还包含其他几个高级设置。我们将在本文后面解释它们。
由于该文件包含大量敏感信息,因此建议您不要弄乱该文件,除非您别无选择。
但既然您正在阅读本文,这意味着您必须编辑 wp-config.php 文件。以下是在不搞乱事情的情况下完成此操作的步骤。
视频教程
https://www.youtube.com/embed/3SDPTafEM8o?version=3&rel=0&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent订阅 WPBeginner
https://www.youtube.com/subscribe_embed?usegapi=1&channel=wpbeginner&layout=default&count=default&origin=https%3A%2F%2Fwpbeginner.com&gsrc=3p&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.vQiXRrxCe40.O%2Fam%3DAQ%2Fd%3D1%2Frs%3DAGLTcCMBxIGVyXSdvvcs43a64yHt_P7dfg%2Fm%3D__features__#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh&id=I0_1448178294715&parent=https%3A%2F%2Fwpbeginner.com
如果您不喜欢该视频或需要更多说明,请继续阅读。
入门
您需要做的第一件事是创建完整的WordPress 备份。wp-config.php 文件对于 WordPress 网站至关重要,一个微小的错误都会导致您的网站无法访问。
您将需要一个FTP 客户端来连接到您的网站。Windows 用户可以安装 WinSCP 或 SmartFTP,Mac 用户可以尝试 Transmit 或 CyberDuck。FTP 客户端允许您在服务器和计算机之间传输文件。
使用 FTP 客户端连接到您的网站。您将需要 FTP 登录信息,该信息可以从您的网络主机获得。如果您不知道您的 FTP 登录信息,则可以向您的网络托管服务商寻求支持。
wp-config.php 文件通常位于网站的根文件夹中,其他文件夹如 /wp-content/。
只需右键单击该文件,然后从菜单中选择下载。您的 FTP 客户端现在会将 wp-config.php 文件下载到您的计算机。您可以使用记事本或文本编辑等纯文本编辑器程序打开和编辑它。
了解 wp-config.php 文件
在开始之前,我们先看一下默认 wp-config.php 文件的完整代码。您还可以在此处查看该文件的示例。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | <?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 web site, you can * copy this file to "wp-config.php" and fill in the values. * * This file contains the following configurations: * * * MySQL settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://codex.wordpress.org/Editing_wp-config.php * * @package WordPress */ // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME' , 'database_name_here' ); /** MySQL database username */ define( 'DB_USER' , 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD' , 'password_here' ); /** MySQL 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 Codex. * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define( 'WP_DEBUG' , false); /* That's all, stop editing! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined( 'ABSPATH' ) ) define( 'ABSPATH' , dirname( __FILE__ ) . '/' ); /** Sets up WordPress vars and included files. */ require_once (ABSPATH . 'wp-settings.php' ); |
由
wp-config.php 文件的每个部分在文件本身中都有详细记录。这里几乎所有设置都是使用 PHP 常量定义的。
1 | define( 'constant_name' , 'value' ); |
由
让我们仔细看看 wp-config.php 文件中的每个部分。
wp-config.php 文件中的 MySQL 设置
您的 WordPress 数据库连接设置显示在 wp-config.php 文件的“MySQL 设置”部分下。您需要填写 MySQL 主机、数据库名称、数据库用户名和密码。
123456789101112131415161718 | // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME' , 'database_name_here' ); /** MySQL database username */ define( 'DB_USER' , 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD' , 'password_here' ); /** MySQL 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' , '' ); |
由
您可以从网络托管帐户的 cPanel 标记为数据库的部分下获取数据库信息。
如果您找不到 WordPress 数据库或 MySQL 用户名和密码,则需要联系您的网络托管服务商。
身份验证密钥和盐
身份验证唯一密钥和盐是有助于提高 WordPress 网站安全性的安全密钥。这些密钥为 WordPress 生成的用户会话和 cookie 提供强大的加密。有关更多信息,请参阅我们的WordPress 安全密钥指南。
12345678910111213141516171819 | /**#@+ * 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 安全密钥并将其粘贴到此处。如果您怀疑您的 WordPress 网站可能已被盗用,这尤其有用。更改安全密钥将注销 WordPress 网站上当前登录的所有用户,迫使他们再次登录。
WordPress 数据库表前缀
默认情况下,WordPress 将 wp_ 前缀添加到 WordPress 创建的所有表中。建议您将 WordPress 数据库表前缀更改为随机的。这将使黑客很难猜测您的 WordPress 表,并使您免受一些常见的 SQL 注入攻击。
1234567 | /** * 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_' ; |
由
请注意,您无法更改现有 WordPress 网站的此值。请按照如何更改 WordPress 数据库前缀一文中的说明来更改现有 WordPress 网站上的这些设置。
WordPress 调试模式
此设置对于尝试学习 WordPress 开发的用户以及尝试实验性功能的用户特别有用。默认情况下,WordPress 会隐藏 PHP 在执行代码时生成的通知。只需将调试模式设置为 true 即可向您显示这些通知。这为开发人员查找错误提供了重要信息。
1 | define( 'WP_DEBUG' , false); |
由
绝对路径设置
wp-config 文件的最后一部分定义了绝对路径,然后用于设置 WordPress 变量和包含的文件。您根本不需要在这里更改任何内容。
12345 | /** Absolute path to the WordPress directory. */ if ( !defined( 'ABSPATH' ) ) define( 'ABSPATH' , dirname( __FILE__ ) . '/' ); /** Sets up WordPress vars and included files. */ require_once (ABSPATH . 'wp-settings.php' ); |
由
有用的 wp-config.php 技巧和设置
还有一些其他 wp-config.php 设置可以帮助您排除错误并解决许多常见的 WordPress 错误。
在 WordPress 中更改 MySQL 端口和套接字
如果您的 WordPress 托管提供商使用 MySQL 主机的备用端口,那么您将需要更改 DB_HOST 值以包含端口号。请注意,这不是一个新行,但您需要编辑现有的 DB_HOST 值。
1 | define( 'DB_HOST' , 'localhost:5067' ); |
由
不要忘记将端口号 5067 更改为您的网络主机提供的任何端口号。
如果你的主机使用 MySQL 的套接字和管道,那么你需要像这样添加它:
1 | define( 'DB_HOST' , 'localhost:/var/run/mysqld/mysqld.sock' ); |
由
使用 wp-config.php 文件更改 WordPress URL
将 WordPress 网站移至新域名或新网络主机时,您可能需要更改 WordPress URL。您可以通过访问“设置”»“常规”页面来更改这些 URL 。
您还可以使用 wp-config.php 文件更改这些 URL。如果您由于错误太多直接问题而无法访问 WordPress 管理区域,这会很方便。只需将这两行添加到您的 wp-config.php 文件中:
12 | define( 'WP_HOME' , 'http://example.com' ); define( 'WP_SITEURL' , 'http://example.com' ); |
由
不要忘记将 example.com 替换为您自己的域名。您还需要记住,搜索引擎将 www.example.com 和 example.com 视为两个不同的位置(请参阅www 与非 www – 哪一个更适合 SEO?)。如果您的网站以 www 前缀索引,那么您需要相应地添加您的域名。
使用 wp-config.php 更改上传目录
默认情况下,WordPress 将所有上传的媒体存储在 /wp-content/uploads/ 目录中。如果您想将媒体文件存储在其他位置,则可以通过在 wp-config.php 文件中添加这行代码来实现。
1 | define( 'UPLOADS' , 'wp-content/media' ); |
由
请注意,上传目录路径是相对于 WordPress 中自动设置的 ABSPATH 的。这里添加绝对路径是不行的。有关更多信息, 请参阅有关如何更改 WordPress 中的默认媒体上传位置的详细指南。
禁用 WordPress 中的自动更新
WordPress 在 WordPress 3.7 中引入了自动更新。它允许 WordPress 网站在有可用的小更新时自动更新。虽然自动更新对于安全性很有帮助,但在某些情况下,它们可能会破坏 WordPress 网站,使其无法访问。
将这一行代码添加到您的 wp-config.php 文件将禁用 WordPress 网站上的所有自动更新。
1 | define( 'WP_AUTO_UPDATE_CORE' , false ); |
由
有关更多信息,请参阅有关如何在 WordPress 中禁用自动更新的教程。
限制 WordPress 中的帖子修改
WordPress 带有内置的自动保存和修订功能。请参阅我们的教程,了解如何通过后期修订撤消 WordPress 中的更改。但是,如果您运行大型站点,修订可能会增加您的 WordPress 数据库备份大小。
将此行代码添加到您的 wp-config.php 文件中以限制为帖子存储的修订数量。
1 | define( 'WP_POST_REVISIONS' , 3 ); |
由
将 3 替换为您要存储的修订版本数。WordPress 现在将自动放弃旧版本。但是,您较早的帖子修订仍存储在您的数据库中。请参阅我们关于如何在 WordPress 中删除旧帖子修订的教程。
我们希望本文能帮助您了解如何在 WordPress 中编辑 wp-config.php 文件以及您可以用它做的所有很酷的事情。您可能还想查看我们关于 WordPress 函数文件的 25 个以上极其有用的技巧的文章。