wp-config.php 文件是什么?
已发表: 2023-05-03wp-config.php 文件是 WordPress 最重要的文件之一。 它包含使 WordPress 工作所需的配置信息。 顾名思义,它是用 PHP 编写的——WordPress 正是基于这种语言构建的。
该文件是在您安装 WordPress 时自动生成的; 但是,之后可以随时对其进行编辑。 虽然您在管理 WordPress 网站的常规过程中不需要访问或编辑该文件,但在某些情况下您可能需要这样做。 这是我们接下来要讨论的。
注意:如果您出于任何原因要编辑文件,请确保先进行备份。
目录
- wp-config.php 文件的用途是什么?
- 数据库设置
- 高级选项
- 何时编辑 wp-config 文件
- 如何访问 wp-config.php
- 文件传输协议
- SSH
- 面板
- 托管服务提供商(托管 WordPress)
- wp-config.php 的结构
- 常见的 wp-config 编辑
- 数据库
- 数据库名称
- 数据库用户名
- 数据库密码
- 数据库主机名
- 数据库字符集
- 数据库整理类型
- 数据库表前缀
- 安全
- 钥匙和盐
- SSL
- 行政
- 调试
- 其他调试选项
- 脚本调试
- 保存查询
- WordPress 更新
- 禁用自动更新
- 配置更新
- 文件系统
- 对于 wp-content 文件夹
- 对于插件文件夹
- 对于上传文件夹
- 内容
- 自动保存
- 发布修订
- 内存限制
- wp-config.php – 一个值得了解的文件
- 数据库
- wp-config.php 文件的用途是什么?
wp-config.php 文件的用途是什么?
如前所述,wp-config 用于配置 WordPress 的不同方面。 它包含重要信息,例如数据库连接信息——强大的 WordPress 数据库安全性的一个重要方面。
wp-config 允许的一些配置对于大多数网站来说不是必需的,而一些配置选项可以通过 WordPress 仪表板处理。 话虽如此,您可以通过 wp-config 配置很多东西——比许多人想象的要多。
可以通过 wp-config 配置的设置和选项分为两类之一——数据库设置和高级选项。 接下来我们将分别研究这两个类别。
数据库设置
顾名思义,在数据库设置类别中,我们可以设置一些数据库设置。 这些包括:
数据库名称: WordPress 数据库的名称。
数据库用户和密码: WordPress 用来访问数据库的用户名和密码
数据库主机:托管数据库的地方
Database character set and collation: The character set and collation(字符集是如何排序的)
安全密钥:用于保护信息的加密密钥和盐。
高级选项
在高级选项中,我们发现了几种不同的配置。 该列表非常广泛,包括以下内容:
表前缀:数据库表的前缀,默认为'wp_'。
站点和博客 URL:定义网站和博客 URL
文件夹位置:定义 wp-content、插件、主题和上传的位置
自动保存: WordPress 应该多久自动保存一次帖子
修订:启用或禁用后期修订以及存储的后期修订数量
错误:配置恢复模式、错误日志记录和调试选项
环境类型:设置环境的安装类型,例如本地、开发、暂存或生产
内存:设置PHP内存限制
更新:启用或禁用自动更新和升级常量
Cron:启用或禁用 Cron 和 Cron 超时并设置替代 Cron
插件和主题:启用或禁用插件和主题编辑器、更新和安装
SSL:登录和管理区域需要 SSL
此列表并非详尽无遗。 可以使用新更新在 wp-config 文件中添加和删除设置。 如有疑问,请参阅 WordPress.org 的最新文档。
何时编辑 wp-config 文件
大多数 WordPress 管理员和网站所有者不需要编辑 wp-config 文件。 该文件是在初始 WordPress 设置期间自动生成的。 对于大多数网站来说,初始配置就足够了。 但是,如果您的 WordPress 环境发生重大变化或者您需要实施其他设置,您可能需要编辑 wp-config 文件。
本文将介绍一些比较常见的配置编辑管理员,以及网站所有者通过wp-config.php 进行的配置。 确保您继续阅读以了解更多信息。
如何访问 wp-config.php
可以通过不同的方式访问 wp-config 文件。 根据您的 WordPress 托管方式,不同的访问选项可能适用于您。 通常,您可以通过以下四种方式之一访问该文件:
文件传输协议
访问 wp-config.php 文件的最简单方法之一是通过 FTP/SFTP。 您的托管服务提供商将提供连接详细信息。 您需要一个 FTP 客户端,例如 FileZilla; 但是,一些托管服务提供商提供了一个基于网络的界面,允许您以同样的方式进行连接。
您应该在 WordPress 根目录中找到 wp-config 文件,通常是 public_html 文件夹。
SSH
SSH 是另一种流行的选择; 但是,这需要对运行 Web 服务器的 OS(操作系统)有所了解。 您的托管服务提供商还将提供您的连接详细信息。
面板
如果您的托管计划/配置包括 cPanel,您可以通过文件管理器访问 wp-config 文件。
托管服务提供商(托管 WordPress)
如果您使用的是托管 WordPress 托管计划,您的服务提供商可能会通过他们的后端为您提供访问权限。 确切的程序因服务提供商而异。 如果您对此不确定,请参阅您的服务提供商提供的文档。
wp-config.php 的结构
顾名思义,wp-config 文件是用 PHP 编写的。 这与 WordPress 的编写语言相同——这是有道理的。 虽然一些 PHP 知识有助于理解和编辑文件,但您无需成为开发人员即可执行此操作。
wp-config 文件对于 WordPress 网站的正常运行至关重要。 如果您不是 100% 确定如何配置该文件,请在进行任何更改之前进行备份,以便在发生某些情况时可以恢复工作版本。 在编辑实时环境的 wp-config 文件之前,您可能还想考虑在暂存环境中测试更改。
重要的是要注意 wp-config 文件在不同的 WordPress 之间可能看起来不同。 虽然基础知识非常标准,但您的托管服务提供商可能会包含其他条目以满足其特定设置的要求。
该文件以 PHP 打开语句开头,告诉网络服务器上的解释器该文件确实是 PHP 格式的。
您还会在每个设置之前找到注释,告诉我们设置是什么。
使用变量和值配置设置。 变量本质上是设置名称,而值定义设置本身。
下面是一个示例 wp-config 文件:
<?php
/**
* WordPress 的基本配置
*
* wp-config.php 创建脚本在安装期间使用此文件。
* 你不必使用网站,你可以将此文件复制到“wp-config.php”
* 并填写值。
*
* 该文件包含以下配置:
*
**数据库设置
**秘钥
**数据库表前缀
**本地化语言
** 深渊
*
* @link https://wordpress.org/support/article/editing-wp-config-php/
*
* @package WordPress
*/
// 数据库设置——您可以从您的虚拟主机获取此信息 //
/** WordPress 的数据库名称 */
define( 'DB_NAME', 'database_name_here' );
/** 数据库用户名 */
define( 'DB_USER', 'username_here' );
/** 数据库密码 */
定义('DB_PASSWORD','password_here');
/** 数据库主机名 */
定义('DB_HOST','localhost');
/** 用于创建数据库表的数据库字符集。 */
定义('DB_CHARSET','utf8');
/** 数据库整理类型。 如有疑问,请勿更改。 */
定义('DB_COLLATE',”);
/**#@+
* 身份验证唯一密钥和盐。
*
* 将这些更改为不同的独特短语! 您可以使用生成这些
* {@link https://api.wordpress.org/secret-key/1.1/salt/WordPress.org 密钥服务}。
*
* 您可以随时更改这些内容以使所有现有 cookie 失效。
* 这将强制所有用户必须重新登录。
*
* @自 2.6.0 起
*/
define( 'AUTH_KEY', '把你独特的短语放在这里' );
define( 'SECURE_AUTH_KEY', '把你独特的短语放在这里' );
define( 'LOGGED_IN_KEY', '把你独特的短语放在这里');
define( 'NONCE_KEY', '把你独特的短语放在这里' );
define( 'AUTH_SALT', '把你独特的短语放在这里' );
define( 'SECURE_AUTH_SALT', '把你独特的短语放在这里' );
define( 'LOGGED_IN_SALT', '把你独特的短语放在这里' );
define( 'NONCE_SALT', '把你独特的短语放在这里' );
/**#@-*/
/**
* WordPress 数据库表前缀。
*
* 如果你给每一个,你可以在一个数据库中有多个安装
* 唯一的前缀。 请只输入数字、字母和下划线!
*/
$table_prefix = 'wp_';
/**
* 对于开发人员:WordPress 调试模式。
*
* 将此更改为 true 以启用在开发过程中显示通知。
* 强烈建议插件和主题开发者使用 WP_DEBUG
* 在他们的开发环境中。
*
* 有关可用于调试的其他常量的信息,
* 访问文档。
*
* @link https://wordpress.org/support/article/debugging-in-wordpress/
*/
定义('WP_DEBUG',假);
/* 在此行和“停止编辑”行之间添加任何自定义值。 */
/* 就这些,停止编辑! 快乐出版。 */
/** WordPress 目录的绝对路径。 */
如果(!定义('ABSPATH')){
define( 'ABSPATH', DIR . '/' );
}
/** 设置 WordPress 变量和包含的文件。 */
require_once 抽象路径。 'wp-settings.php';
常见的 wp-config 编辑
如前所述,wp-config 文件允许各种 WordPress 配置。 如果我们必须通读所有这些,我们最终会得到一本书而不是一篇文章。 因此,我们认为如果我们研究一些更常见的设置,突出它们的含义以及需要特别编辑哪些设置以实现特定结果,将会更有价值。
数据库
最常见的 wp-config 编辑之一是数据库设置。 您可以在此处配置很多设置,包括;
基本注意事项:更改数据库设置的值只会更改设置,而不会更改资源的实际值。 例如,更改 wp-config 中的数据库名称不会更改 WordPress 使用的实际数据库名称。 它只是告诉 WordPress 在查找保存或读取数据库数据时查找具有这样名称(如 wp-config 中定义)的数据库。
因此,如果您打算更改任何数据库设置,请记住您需要更改 wp-config 文件和 WordPress 数据库本身。
数据库名称
数据库名称设置允许我们设置 WordPress 存储其表和数据的数据库名称。 这是在安装期间设置的。
设置编辑:
define( 'DB_NAME', '数据库名称' );
数据库用户名
数据库用户名告诉 WordPress 在连接到数据库时使用哪个用户名
设置编辑:
define( 'DB_USER', 'databaseuserhere' );
数据库密码
数据库密码告诉 WordPress 使用哪个密码与数据库用户名一起访问数据库
设置编辑:
define( 'DB_PASSWORD', 'databasepasswordhere' );
数据库主机名
数据库主机名告诉 WordPress 数据库托管在何处(在哪个服务器上)。
设置编辑:
define('DB_HOST', '这里是数据库主机名');
数据库字符集
数据库字符集告诉 WordPress 在将数据保存到数据库和从数据库读取数据时使用哪个字符集。 默认情况下,它设置为 UTF8,这是自 WordPress 2.2 版以来的首选标准。
设置编辑:
定义('DB_CHARSET','utf8');
数据库整理类型
数据库排序规则定义了在排序和比较时使用的字符集和排序顺序。 默认情况下,它留空,允许 MySQL(或 MariaDB)服务器分配值。
设置编辑:
定义('DB_COLLATE',”);
数据库表前缀
更改数据库表前缀通常作为一种安全措施出现,您可以采取这种措施来最大程度地降低风险。 通常建议将其作为一种良好的安全做法,因为每个人都知道默认的表前缀,这会使您容易受到某些漏洞的影响。
表前缀是在初始 WordPress 安装过程中设置的。 虽然它可以在 WordPress 启动并运行后进行更改,但这不仅仅是使用新值更新 wp-config 文件的问题——您还需要手动重命名 MySQL 数据库中的表。
或者,您可以使用插件来帮助您完成此操作; 但是,请谨慎行事——我们的研究表明,这些插件中的大多数已经很长时间没有更新了。
设置编辑:
$table_prefix = 'wp_';
安全
WordPress 安全对于确保 WordPress 的健康和繁荣至关重要。 为此,您会在 wp-config 文件中找到许多 WordPress 安全设置和配置,包括:
钥匙和盐
密钥和盐是 WordPress 安全性的重要组成部分。 密钥和盐成对出现,用于散列用户 cookie 中的会话数据。 一共有四对,如下;
- AUTH_KEY 和 AUTH_SALT :授权用户登录 WordPress 并使用不安全的连接(无 SSL)进行更改
- SECURE_AUTH_KEY 和 SECURE_AUTH_SALT :授权用户登录 WordPress 并使用安全连接 (SSL) 进行更改
- LOGGED_IN_KEY 和 LOGGED_IN_SALT :授权用户登录 WordPress 但不能进行更改
- NONCE_KEY 和 NONCE_SALT :签署随机数(使用一次的数字),防止重放攻击
要编辑的设置:
define( 'AUTH_KEY', '把你独特的短语放在这里' );
define( 'SECURE_AUTH_KEY', '把你独特的短语放在这里' );
define( 'LOGGED_IN_KEY', '把你独特的短语放在这里');
define( 'NONCE_KEY', '把你独特的短语放在这里' );
define( 'AUTH_SALT', '把你独特的短语放在这里' );
define( 'SECURE_AUTH_SALT', '把你独特的短语放在这里' );
define( 'LOGGED_IN_SALT', '把你独特的短语放在这里' );
define( 'NONCE_SALT', '把你独特的短语放在这里' );
使用 WordPress.org 的随机密钥生成器可以轻松生成新密钥。 了解有关 WordPress 安全密钥和盐的更多信息。
SSL
在 WordPress (HTTPS) 上使用 SSL/TLS 证书是您可以采取的最基本的安全措施之一。 它加密您的网站和用户/访问者之间的所有数据,甚至会促进您的 SEO 工作。 启用此设置会强制 WordPress 使用 SSL 来保护登录和 WordPress 管理区域。 请记住,SSL 证书需要已经配置。
设置编辑:
定义('FORCE_SSL_ADMIN',真);
行政
WordPress 是一个非常强大的系统,部分归功于它的许多管理工具,这些工具允许 WordPress 部署在各种不同的环境中。 在本节中,我们将了解一些您可以通过 wp-config 编辑的最常见的管理设置。
WordPress调试
WordPress 调试工具是用于解决 WordPress 问题的有用工具。 该工具包括四种不同的设置,可启用调试、日志记录和错误显示。
默认情况下,这些设置为 false。 您需要将其更改为 true 以启用调试。 完成调试后,请记住将其改回 false。
要编辑的设置:
定义('WP_DISABLE_FATAL_ERROR_HANDLER',真); // 5.2 及更高版本
定义('WP_DEBUG',真);
定义('WP_DEBUG_LOG',真);
定义('WP_DEBUG_DISPLAY',假);
其他调试选项
脚本调试
启用后,脚本调试会加载 WordPress.org 所指的 CSS(层叠样式表)和 JS (JavaScript) 文件的“开发版本”。
这在测试对 JS 或 CSS 文件的默认版本的更改时非常有用。
默认情况下,这设置为 false
设置编辑:
定义('SCRIPT_DEBUG',真);
保存查询
启用后,SAVEQUERIES 保存所有数据库查询,包括执行时间和调用它的函数到一个数组,存储在 $wpdb->queries 中。 默认情况下,这设置为 false。
设置编辑:
定义('SAVEQUERIES',真);
WordPress 更新
WordPress 更新是 WordPress 生态系统的重要组成部分。 WordPress 接收更新以添加新功能、更新现有功能以及修复错误和可能存在的任何安全漏洞。 更新是如此重要,以至于 WordPress 提供了一个自动更新选项,以确保您始终运行最新版本的软件。
禁用自动更新
如果您有在将更新部署到生产环境之前在暂存环境中测试更新的政策,您可能希望完全禁用生产 WordPress 的自动更新。
设置编辑:
定义('AUTOMATIC_UPDATER_DISABLED',真);
配置更新
您还可以选择自动推出哪些更新,哪些不自动推出。
设置编辑:
定义('WP_AUTO_UPDATE_CORE',真);
- 如果将值设置为 true,将启用所有更新
- 如果将该值设置为 false,则禁用所有更新
- 如果将值设置为次要,则仅启用次要更新
文件系统
WordPress 文件系统存储基本数据,包括 WordPress 核心代码、主题、插件和上传。 文件存储在特定位置,这些位置在 wp-config 文件中配置。 因此,完全可以移动它们,在 wp-config 中配置新位置,以便 WordPress 知道在哪里可以找到它们。
请记住,在此处更改值不会自动移动文件和文件夹 - 您需要手动执行此操作。
要编辑的设置:
对于 wp-content 文件夹
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );
对于插件文件夹
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins' );
define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
对于上传文件夹
define('UPLOADS', 'blog/wp-content/uploads' );
无法移动 themes 文件夹,因为它的路径是硬编码的。 但是,您可以通过 register_theme_directory 函数创建并注册一个二级主题文件夹。
内容
内容是 WordPress 网站的核心。 由于 WordPress 本身是一个内容管理系统 (CMS),因此可以通过 wp-admin 配置许多与内容相关的设置。 这些包括:
自动保存
允许您设置 WordPress 自动保存帖子的频率。 值指示间隔,以秒为单位。 默认值为 60 秒。
设置编辑:
定义('AUTOSAVE_INTERVAL',60);
发布修订
WordPress 会自动记录帖子的修订。 可以禁用此设置,以便不保留任何修订。 您还可以指定 WordPress 应为给定帖子保留的最大修订数。
要编辑的设置:
定义('WP_POST_REVISIONS',真);
定义('WP_POST_REVISIONS',3);
内存限制
WordPress 使用 PHP 内存分配来运行。 默认情况下,WordPress 将尝试在单个站点的情况下分配 40MB,在多站点的情况下分配 64MB。 如果 WordPress 内存不足,您会看到“允许的 x 字节内存大小已耗尽”消息。 在这种情况下,您可能需要增加内存限制。 请记住,托管服务提供商可能会限制您可以分配的内存量。 在下面的示例中,我们将分配 64MB 的内存。
设置编辑:
定义('WP_MEMORY_LIMIT','64M');
wp-config.php – 一个值得了解的文件
wp-config.php 确实是一个值得了解的文件。 正如我们刚刚看到的,它允许您配置 WordPress 的几个不同方面,为您提供高度的灵活性和对 WordPress 网站的配置和行为的控制。
由于文件可能会更改,因此在进行任何更改之前始终参考 WordPress.org 的官方文档非常重要。 如有疑问,请记住进行备份,如果可能,请先测试您计划在暂存服务器上进行的任何更改。 这将帮助您确保更改不会产生负面反应,并且您的网站可以继续运行。