WordPress wp-config.php文件是WordPress安装中最重要的文件之一。没有wp-config文件,您的WordPress网站将无法正常运行。其中包含必要的信息,让WordPress网站正常运行,包括: 您的WordPress数据库MySQL连接设置 WordPress盐和键 WordPress数据库表前缀 ABSPATH(WordPress目录的绝对路径) WordPress调试模式(可选) 该文件具有必须遵循的特定语法,并且可以在其中设置许多不同的变量。简而言之,该文件用于告诉WordPress在不同情况下的行为方式,并且在不同站点上看起来会有很大不同。 WordPress配置文件介绍 尽管我们将在本指南的后面部分看到实际的wp-config.php文件代码示例,但让我们更深入地研究WordPress配置文件的功能以及设置的变量类型。 首先,wp-config.php文件严格设置了数据库访问权限。你的WordPress数据库基本上是AA MySQL数据库来存储大多数内容,包括信息、评论、用户、密码(加密和盐),以及更多的(但不是全部)。还建立了到数据库本身的连接,并且通常包括该文件的第一个“块”或代码部分。 WordPress配置文件中包含的其他设置包括“ salting”(“加盐”)(如果黑客能够窃取数据库,使黑客更加难以利用您的数据库)。 接下来,在代码中设置其他变量。例如,开发人员可以将WP_DEBUG变量设置为“1”或“ true”,以使站点以调试模式运行,从而允许进行高级诊断。 wp-config.php文件的内容 每次加载站点上未缓存的页面时,都会评估wp-config.php文件的内容。这意味着每次您收到新的访问者时,都会重新加载内容,因此使该文件保持最新和正确是绝对至关重要的。 该文件看起来像是对WordPress核心功能的一系列功能调用。另外,最好彻底注释掉放置在此文件中的任何代码。尽管您可能以某种方式做某事对您来说很明显,但对后来从事该项目的其他开发人员而言,这可能并不明显! 以下概述了WordPress wp-config.php文件的基本内容。 注意:wp-config-sample.php文件的内容按特定顺序排列。重新排列文件内容可能会在您的网站上产生错误。 MySQL数据库设置 WordPress网站使用MySQL数据库进行操作。您的数据库存储博客内容,例如文章、评论等。 通常可以从主机获取数据库信息。如果您管理自己的Web服务器或托管帐户并有权访问cPanel,则可以在创建数据库和用户后访问此信息。在cPanel中,访问MySQL数据库部分。 行 说明 define('DB_NAME', 'database_name_here'); WordPress的数据库名称。将“ database_name_here”替换为数据库名称,例如MyDatabaseName。 define('DB_USER', 'username_here'); 用于访问数据库的MySQL数据库用户名。将“ username_here”替换为用户名的名称,例如MyUserName。 define('DB_PASSWORD', 'password_here'); 用于访问数据库的MySQL数据库密码。用您的密码替换“ password_here”,例如MyPassWord。 define('DB_NAME', 'database_name_here'); MySQL主机名。将“ localhost”替换为数据库主机的名称,例如MyDatabaseHost。也可能需要端口号或Unix套接字文件路径。尝试使用默认值’localhost’进行安装,看看是否可行。 define('DB_CHARSET', 'utf8'); 用于创建数据库表的数据库字符集。从WordPress 2.2开始,DB_CHARSET可用于在定义MySQL数据库表时指定要使用的数据库字符集。utf8(Unicode UTF-8)的默认值几乎始终是最佳选择。UTF-8支持任何语言,因此您通常希望将DB_CHARSET保留为utf8,而将DB_COLLATE值用于您的语言。 define('DB_COLLATE', ''); 数据库整理类型。从WordPress 2.2版开始,DB_COLLATE可用于指定数据库排序规则(即字符集的排序顺序)。在大多数情况下,此值应留为空白(空),以便MySQL可以根据DB_CHARSET指定的数据库字符集自动分配数据库归类。对于大多数西欧语言,您可能需要将DB_COLLATE设置为UTF-8字符集中定义的UTF-8值之一的示例是,当您输入的字符与另一种语言不同时,正在显示。 WordPress盐和键 WordPress使用Cookie(或存储在浏览器中的信息)来验证登录用户和评论者的身份,因此WordPress在wp-config.php文件中还包括秘密身份验证安全密钥和盐。从本质上讲,这些WordPress安全密钥是您网站的附加密码,它们很长,随机且复杂,因此几乎不可能被破解。 这四个键是增强安全性所必需的。建议使用这四种盐,但不是必需的,因为如果没有提供盐,WordPress会为您生成盐。它们默认包含在wp-config.php中。 行 说明 define('AUTH_KEY', 'put your unique phrase here'); 安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。 define('SECURE_AUTH_KEY', 'put your unique phrase here'); 安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。 define('LOGGED_IN_KEY', 'put your unique phrase here'); 安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。 define('NONCE_KEY', 'put your unique phrase here'); 安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.7中添加 define('AUTH_SALT', 'put your unique phrase here'); 对应于“ AUTH_KEY”的盐。 define('SECURE_AUTH_SALT', 'put your unique phrase here'); 对应于“ SECURE_AUTH_KEY”的盐。 define('LOGGED_IN_SALT', 'put your unique phrase here'); 对应于’LOGGED_IN_KEY’的盐。 define('NONCE_SALT', 'put your unique phrase here'); 对应于’NONCE_KEY’的盐。 WordPress数据库表前缀 $table_prefix是放在数据库表前面的值。如果要为数据库前缀使用wp_以外的值,请更改该值。通常,如果您要在同一数据库中安装多个WordPress博客(与多站点功能相同),则会更改此设置。仅使用数字、字母和下划线。 行 说明 $table_prefix = 'wp_'; WordPress数据库表前缀。 WordPress语言 WordPress 4.0引入了在WordPress管理仪表板而不是wp-config.php中更改语言的选项。通过访问设置>常规并选择站点语言,直接从WordPress仪表板中更改语言。 ABSPATH WordPress目录的绝对路径 行 说明 if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); 该行定义了WordPress目录的绝对路径。 require_once(ABSPATH . 'wp-settings.php'); 设置WordPress变量和包含的文件。 wp-config.php 高级选项 以下部分包含wp-config.php的高级选项。更改可能会导致您的网站出现无法预料的问题,因此请确保在添加或修改这些设置之前进行WordPress备份。 有关wp-config.php设置选项的完整列表,请访问WordPress Codex。 选项 说明 行 WordPress地址(URL) WP_SITEURL允许定义WordPress地址(URL)。定义的值是WordPress核心文件所在的地址。它也应该包含http://部分。(不要在末尾添加斜杠“ /”。)在wp-config.php p中设置此值将覆盖siteurl的wp_options表值,并禁用WordPress仪表板的 设置> 常规 页面中的WordPress 地址(URL)字段。 。 define( 'WP_SITEURL', 'http://example.com/wordpress' ); 修改自动保存间隔 编辑文章时,WordPress在编辑时使用Ajax自动将修订保存到文章中。您可能需要增加此设置以延长两次自动保存之间的延迟,或者减少该设置以确保您不会丢失任何更改。默认值为60秒。 define( 'AUTOSAVE_INTERVAL', 160 ); //秒 禁用文章修订 默认情况下,WordPress将保存对文章或页面所做的每次编辑的副本,从而可以还原到该文章或页面的先前版本。可以禁止保存修订,或者可以指定每个文章或页面的最大修订数。 define( 'WP_POST_REVISIONS', false ); 指定文章修订的数量 如果要指定最大修订版本数,请将false更改为整数/数字(例如3或5)。 define('WP_POST_REVISIONS', 3); 设置Cookie域 可以为具有异常域设置的用户指定在WordPress cookie中设置的域。原因之一是子域是否用于提供静态内容。为了防止将WordPress cookie与每个请求一起发送到子域中的静态内容,您可以将cookie域设置为仅非静态域。 define('COOKIE_DOMAIN', 'www.askapache.com'); 启用多站点/网络能力 WP_ALLOW_MULTISITE是WordPress 3.0版中引入的一项功能,用于启用以前通过WordPress MU实现的多站点功能。如果wp-config.php中没有此设置,则默认为false。 define('WP_ALLOW_MULTISITE', true); 重定向不存在的博客 如果访问者尝试访问不存在的博客,则可以使用NOBLOGREDIRECT重定向浏览器。例如:http://nonexistent.example.com或http://example.com/nonexistent/。 define('NOBLOGREDIRECT', 'http://example.com'); 调试 WP_DEBUG选项控制一些错误和警告的显示。如果wp-config.php中没有此设置,那么该值将被假定为false。注意:示例中的true和false值未设置为单引号(’),因为它们是布尔值。 define('WP_DEBUG', true); define('WP_DEBUG', false); 禁用Javascript串联 为了使管理区域更快,将所有Javascript文件连接到一个URL中。如果Javascript无法在您的管理区域中运行,则可以尝试禁用此功能。 define('CONCATENATE_SCRIPTS', false); 增加分配给PHP的内存 WP_MEMORY_LIMIT选项允许您指定PHP可以使用的最大内存量。如果收到诸如“允许的xxxxxx字节的内存大小已耗尽”之类的消息,则可能需要此设置。此设置仅为WordPress增加PHP内存,而不为其他应用程序增加。默认情况下,WordPress会尝试将分配给PHP的内存增加到40MB(代码在wp-settings.php的开头),因此wp-config.php中的设置应该反映出大于40MB的大小。WordPress将在使用此功能之前自动检查是否为PHP分配的内存少于输入的值。例如,如果PHP已分配了64MB,则无需将此值设置为64M,因为WordPress将在需要时自动使用所有64MB。注意:如果您的主机不允许增加PHP内存限制,则此设置可能不起作用。联系您的主机以增加PHP内存限制。另外,请注意,许多主机将PHP限制设置为8MB。 将PHP内存增加到64MB define('WP_MEMORY_LIMIT', '64M');将PHP内存增加到96MB define('WP_MEMORY_LIMIT', '96M'); 缓存 WP_CACHE设置(如果为true)在执行wp-settings.php时包括wp-content / advanced-cache.php脚本。默认情况下,WordPress的当前版本已修改此WP_CACHE设置,以通过“其他”代码(插应用/自定义函数)启动简单的启用缓存概念,以挂接到WordPress提供的缓存API中。 define('WP_CACHE', true); Cron定时计划 如果预定的文章没有发布,此设置很有用。此替代方法使用重定向方法,该方法使用户浏览器在cron需要运行时获得重定向,以便当cron在刚刚断开的连接中继续运行时,他们可以立即返回站点。有时这种方法有点笨拙,这就是为什么它不是默认方法的原因。 define('ALTERNATE_WP_CRON', true); 清空回收站 此设置控制WordPress从回收站中永久删除文章、页面、附件和评论之前的天数。默认值为30天: define('EMPTY_TRASH_DAYS', 30 ); // 30天 自动数据库优化 在2.9版中添加了自动数据库优化支持,只有在需要此功能时,才可以通过将以下定义添加到wp-config.php文件中来启用该功能。可以在{$your_site} /wp-admin/maint/repair.php上找到该脚本。 请注意:此定义启用了该功能,设置此定义后,用户无需登录即可访问此功能。这是因为其主要目的是修复损坏的数据库。数据库损坏时,用户通常无法登录。 define('WP_ALLOW_REPAIR', true); 禁用插应用和主题编辑器 有时您可能希望禁用插应用或主题编辑器,以防止过分热心的用户能够编辑敏感文件并可能使站点崩溃。如果黑客获得了特权用户帐户的访问权限,则禁用这些功能还可以提供额外的安全保护。 define('DISALLOW_FILE_EDIT',true); 禁用插应用和主题更新和安装 这将阻止用户使用WordPress管理区域中的插应用和主题安装/更新功能。设置此常量还会禁用“插应用和主题”编辑器(即,您不需要设置DISALLOW_FILE_MODS和DISALLOW_FILE_EDIT,因为它本身具有DISALLOW_FILE_MODS的作用)。 define('DISALLOW_FILE_MODS',true); 要求使用SSL访问后台和登录 FORCE_SSL_LOGIN适用于要保护登录名以使密码不会以明文形式发送的情况,但是您仍希望允许非SSL管理员会话(因为SSL速度很慢)。 define('FORCE_SSL_LOGIN',true); 清理图像编辑 默认情况下,WordPress每次编辑图像时都会创建一组新图像。恢复原始图像时,所做的编辑将存储在服务器上。将IMAGE_EDIT_OVERWRITE定义为true会更改此行为。仅创建了一组图像编辑,并且在还原原始图像时,这些编辑将从服务器中删除。 define( 'IMAGE_EDIT_OVERWRITE', true ); wp-config文件位于哪里? 在一个完整的、可操作的WordPress网站中,wp-config.php文件位于该网站的“根目录”中。在大多数情况下,除非您使用自定义的共享托管解决方案,否则这意味着您将使用安全的FTP客户端连接到站点,并导航到public_html文件夹,并且该文件将位于此位置。 但是,如果您刚刚安装了WordPress或正在修改WordPress服务器,则可能已经注意到不存在此类文件。别担心,因为您的文件仍然存在!通过全新的WordPress安装,wp-config文件只是改名为wp-config-sample.php,这是有充分理由的。继续阅读以找出原因。 WP配置位置 最初安装WordPress时,会包含用于其配置的示例文件,以使您大致了解该文件应包含的内容。最重要的是,它向您展示了如何连接到MySQL数据库以为WordPress网站供电。请记住,仅创建数据库本身是不够的!在WordPress提供的示例文件中,您将需要遵循常识性安全措施。 通过将已存在的wp-config-sample.php文件重命名为该文件,可以轻松地在根目录中轻松创建实际的wp-config.php文件。但是请记住,这将阻止您的网站在不进行某些修改的情况下正常工作。 这是因为在样本中放置了“虚拟”信息。当然,WordPress绝对不可能知道您要用于数据库的服务器。如果您的站点很小,或者您的Web主机未为您提供数据库服务器的地址,则可以将“ localhost”保留为主机。 但是,您将需要创建一个新数据库,命名为您选择的在文件中调用数据库的名称,在MySQL中创建一个仅具有访问信息所需的最基本权限的新用户,并将所有这些访问信息放入文件中。 如何编辑wp-config.php文件? 您可以通过几种不同的方式编辑wp-config.php文件。但是,为了编辑WordPress配置文件,您需要访问服务器上的文件。 首先,您需要下载并安装sFTP客户端,例如 FileZilla (完全免费,并且可以在所有操作系统上正常运行)。这将允许您直接访问WordPress文件。 然后,您需要使用网站托管者提供的凭据通过FTP客户端连接到网站的服务器。如果您不熟悉自己的凭据,请与您的托管服务提供商联系。 您还可以使用WordPress主机提供的文件管理器。最常见的文件管理器平台是cPanel。从cPanel文件管理器中,您可以访问网站的文件,包括wp-config.php文件。 注意:如果您是全新安装的WordPress,则首先需要重命名wp-config-sample.php文件为wp-config.php。通常可以通过任何FTP客户端完成此操作。 重命名示例文件后,很容易只使用主机提供的文本编辑器。但是,在这种情况下,最佳实践是下载文件,在本地进行编辑,确认所有更改正确,保留原始备份,然后重新上传修改后的版本。如果您犯了使文件无法使用的错误,这将确保您的站点能够继续工作。 请记住,技术上所需的全部就是您的站点要运行的MySQL数据库信息。我们稍后将介绍您可以在此文件中设置的其他高级选项。 编辑wp-config.php文件 注意:在修改WordPress网站上的任何WordPress核心文件或代码之前,请确保进行备份。我们建议使用WordPress备份插应用,例如BackupBuddy。 注意:仅使用文本编辑器来编辑WordPress文件。切勿使用Microsoft Word或Pages等文字处理器。 1.完整备份您的WordPress网站。确保您知道在发生问题时用于WordPress备份和还原的方法。 2.在WordPress安装的基本目录中找到wp-config.php文件。 3.使用文本编辑器打开文件。 3.仔细进行更改,注意PHP的语法。仔细检查WordPress Codex中的值。 4.确保检查输入的任何值前后的前导空格和/或尾随空格。不要删除单引号! 5.在保存文件之前,请再次确认您没有意外删除参数值周围的任何单引号。确保文件中关闭PHP标记后没有任何内容。文件中的最后一件事应该是?>,仅此而已。没有空间。 6.要保存文件,请选择“文件”>“另存为”>“ wp-config.php”,然后将文件保存在WordPress安装的根目录中。 7.在浏览器中刷新WordPress网站,以确保一切正常。 如何进一步自定义wp-config.php文件 您将要保留由WordPress提供的示例wp-config.php文件提供的文件中几乎所有被调用的功能。您可能想知道还可以如何使用此配置文件。 一般而言,利用define()函数配置文件中的WordPress核心,您几乎可以完成任何事情。例如,您可以确保尝试访问错误URL的访问者仅被重定向到您的主页。 有关您可以对wp-config进行进一步编辑的完整和最新列表,以使其成为针对您的站点的更自定义的解决方案,建议您查看WordPress有关编辑wp-config.php的建议。请记住,并非所有这些编辑都是无害的,因此请确保在部署每个功能之前已对其进行了彻底的研究! 关于wp-config文件权限 尽管WordPress的用户友好性很高,但在解释如何为wp-config.php文件等文件设置服务器权限方面做得不好。 WordPress文件权限如何工作 如果您不熟悉,WordPress文件权限可以有效地说明允许哪些人访问哪些文件以及它们如何访问它们。 使用文件权限时,我们有三种类型的用户: 用户-本质上是网站管理员 群组–有点过时了,但是它意味着具有某种管理访问权限的“域”中的人员 世界–这意味着地球上其他所有人都可以访问您的网站。 要知道还有另外三个同样重要的动作。该集合包含“用户”,“组”和/或“世界”可能允许或不允许执行的三种类型的动作。 读取–这意味着查看文件的内容 写入–这意味着既可以查看又可以编辑文件的内容 执行-这意味着能够在服务器端运行文件,但看不到源 鉴于最重要的WordPress文件在PHP中,我们将需要让几乎每个人执行大多数文件。请记住,如果我们授予读取文件的权限,则可以让人们看到文件的实际内容。如果我们要在文件中包含敏感的数据库信息,这可能不是最好的主意! 权限设置有几种方式,但最简单的方法是利用三个数字。“ 777”表示全世界所有人的完全开放权限。您的权限应该不设置到wp-config。这些数字是通过使用二进制系统得出的,我们现在将不再讨论。 简而言之,根据WordPress的建议,您对该文件的数字权限应为“ 444”。您应该能够使用任何基于Web的文件管理系统或FTP客户端进行设置。最糟糕的是,如果您可以访问linux终端,则可以简单地利用chmod来执行此更改。 使用wp-config.php调试WordPress 如前所述,虽然WordPress网站的主要配置文件必须具有数据库连接信息,但它也用于设置高级选项,包括调试。 即使您不是开发人员,您可能也想查看为什么会弹出某个错误,或者显示比当前了解的每个错误更多的信息。 为此,在确保将文件权限设置为“ 444”后,需要设置一个特定变量。进入文件,只需在所有数据库信息下面添加以下行: define( 'WP_DEBUG', true ); 这仅启用调试模式。我们将要防止调试模式阻止页面加载,以使访问者不会离开站点。这意味着我们需要添加以下行: define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); 我们差不多完成了,但是到了这一点,调试模式将打开,用户可以访问页面,但是我们仍然看不到WordPress调试器输出的信息。为此,我们需要将信息写入日志文件。要将其写入名为/wp-content/debug.log的文件,只需添加以下最后一行代码: define( 'WP_DEBUG_LOG', true ); 注意:在执行了不返回预期数据的操作后,您需要引用该位置的.log文件以查看出了什么问题。 示例WordPress配置文件 就像我们讨论过的那样,WordPress包含名为wp-config-sample.php的文件,可让新用户了解常规WordPress配置文件的外观。 让我们看一下每个标准安装的WordPress附带的示例WordPress配置文件,并讨论可能的其他选项。查看文件中的注释,以获取有关每一行实际含义的更多信息。 该WP-CONFIG-sample.php文件 为了给您提供wp-config.php示例文件,WordPress预先加载了示例配置文件。首次使用手动方法安装WordPress时,您需要更新此文件中的信息,然后将文件重命名为wp-config.php。 注意:根据您的设置,您的WordPress配置文件版本可能看起来有些不同。 如何重命名wp-config-sample.php? 简而言之,首先,您应确保wp-config-sample.php正是您想要的真实文件的外观。 接下来,您应确保将权限正确设置为“ 444”,以使黑客无法获得未经授权的访问。 注意:在对WordPress网站上的文件进行任何更改之前,应备份WordPress网站。进行备份意味着无论出现什么错误,所有数据都将保留。 完成此操作后,只需从文件名中删除-sample,确保它位于根目录中就可以了!如果主机没有提供允许您重命名文件的便捷在线文件管理器,则可以使用大量FTP程序之一来执行此操作。 wp-config.php文件的安全性如何? WP-config.php文件的安全性取决于您的操作。仅添加简单的数据库详细信息不会有问题。确保设置了所有安全措施,例如示例wp-config.php 文件中已经存在的哈希盐值。如果您想使用快捷方式,则肯定不是该文件的地方! 有关此文件的最常见安全问题是无法利用正确的权限。请记住,为此文件设置的数字权限只是“ 444”。这样,每个人都可以访问并执行需要执行的文件。在任何情况下,用户都不能查看该文件的实际内容,除非您希望数据库被盗! 既然您已经完成了创建MySQL数据库、用户、密码等所有工作,那么似乎仅使用默认的数据库名称、用户名和密码是最简单的,对吧? 错误。这样做很可能是网站管理员可能犯的最严重的错误。有专门用于攻击WordPress网站的工具,这些工具实际上是从一个站点到另一个站点,并尝试使用这些默认凭据。愚弄这些攻击性黑客工具的最佳方法是给数据库命名完全随机的名称(但名称前仍带有必需的“ wp_”前缀),以进一步破坏数据库。 如果一切都得到正确利用,则wp-config应该非常安全。假设您具有足够的攻击防护,则可以定期更新所有软件,并使用安全密码,那么在继续WordPress开发之旅时,一切都会很好。 Loading... WordPress wp-config.php文件是WordPress安装中最重要的文件之一。没有wp-config文件,您的WordPress网站将无法正常运行。其中包含必要的信息,让WordPress网站正常运行,包括: <ul> <li>您的WordPress数据库MySQL连接设置</li> <li>WordPress盐和键</li> <li>WordPress数据库表前缀</li> <li>ABSPATH(WordPress目录的绝对路径)</li> <li>WordPress调试模式(可选)</li> </ul> 该文件具有必须遵循的特定语法,并且可以在其中设置许多不同的变量。简而言之,该文件用于告诉WordPress在不同情况下的行为方式,并且在不同站点上看起来会有很大不同。 <div class="wp-block-image"> <figure class="aligncenter size-large"><span class="external-link"><a class="no-external-link" href="https://www.wpdaxue.com/img/2020/11/wordpress-wp-config-file.jpg" target="_blank"><i data-feather="external-link"></i><img class="wp-image-101453 entered lazyloaded exited" src="https://www.wpdaxue.com/img/2020/11/wordpress-wp-config-file.jpg" alt="" width="1024" height="576" data-lazy-src="https://www.wpdaxue.com/img/2020/11/wordpress-wp-config-file.jpg" data-ll-status="loaded" style=""></a></span></figure> </div> <h3 class="wp-block-heading"><span id="WordPress%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%8B%E7%BB%8D" class="ez-toc-section"></span>WordPress配置文件介绍</h3> 尽管我们将在本指南的后面部分看到实际的wp-config.php文件代码示例,但让我们更深入地研究WordPress配置文件的功能以及设置的变量类型。 首先,wp-config.php文件严格设置了数据库访问权限。你的WordPress数据库基本上是AA MySQL数据库来存储大多数内容,包括信息、评论、用户、密码(加密和盐),以及更多的(但不是全部)。还建立了到数据库本身的连接,并且通常包括该文件的第一个“块”或代码部分。 WordPress配置文件中包含的其他设置包括“ salting”(“加盐”)(如果黑客能够窃取数据库,使黑客更加难以利用您的数据库)。 接下来,在代码中设置其他变量。例如,开发人员可以将WP_DEBUG变量设置为“1”或“ true”,以使站点以调试模式运行,从而允许进行高级诊断。 <h2 class="wp-block-heading"><span id="wp-configphp%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9" class="ez-toc-section"></span>wp-config.php文件的内容</h2> 每次加载站点上未缓存的页面时,都会评估wp-config.php文件的内容。这意味着每次您收到新的访问者时,都会重新加载内容,因此使该文件保持最新和正确是绝对至关重要的。 该文件看起来像是对WordPress核心功能的一系列功能调用。另外,最好彻底注释掉放置在此文件中的任何代码。尽管您可能以某种方式做某事对您来说很明显,但对后来从事该项目的其他开发人员而言,这可能并不明显! 以下概述了WordPress wp-config.php文件的基本内容。 <blockquote class="wp-block-quote">注意:wp-config-sample.php文件的内容按特定顺序排列。重新排列文件内容可能会在您的网站上产生错误。</blockquote> <div class="wp-block-image"> <figure class="aligncenter size-large"><img class="wp-image-101454 entered lazyloaded exited" src="https://www.wpdaxue.com/img/2020/11/wordpress-wp-config-file-1-wpdaxue_com-scaled.jpg" alt="" width="804" height="2048" data-lazy-src="https://www.wpdaxue.com/img/2020/11/wordpress-wp-config-file-1-wpdaxue_com-scaled.jpg" data-ll-status="loaded" style=""></figure> </div> <h3 class="wp-block-heading"><span id="MySQL%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E7%BD%AE" class="ez-toc-section"></span>MySQL数据库设置</h3> WordPress网站使用MySQL数据库进行操作。您的数据库存储博客内容,例如文章、评论等。 通常可以从主机获取数据库信息。如果您管理自己的Web服务器或托管帐户并有权访问cPanel,则可以在创建数据库和用户后访问此信息。在cPanel中,访问MySQL数据库部分。 <figure class="wp-block-table"> <table> <tbody> <tr> <th>行</th> <th>说明</th> </tr> <tr> <td><code>define('DB_NAME', 'database_name_here');</code></td> <td>WordPress的数据库名称。将“ database_name_here”替换为数据库名称,例如MyDatabaseName。</td> </tr> <tr> <td><code>define('DB_USER', 'username_here');</code></td> <td>用于访问数据库的MySQL数据库用户名。将“ username_here”替换为用户名的名称,例如MyUserName。</td> </tr> <tr> <td><code>define('DB_PASSWORD', 'password_here');</code></td> <td>用于访问数据库的MySQL数据库密码。用您的密码替换“ password_here”,例如MyPassWord。</td> </tr> <tr> <td><code>define('DB_NAME', 'database_name_here');</code></td> <td>MySQL主机名。将“ localhost”替换为数据库主机的名称,例如MyDatabaseHost。也可能需要端口号或Unix套接字文件路径。尝试使用默认值’localhost’进行安装,看看是否可行。</td> </tr> <tr> <td><code>define('DB_CHARSET', 'utf8');</code></td> <td>用于创建数据库表的数据库字符集。从WordPress 2.2开始,DB_CHARSET可用于在定义MySQL数据库表时指定要使用的数据库字符集。utf8(Unicode UTF-8)的默认值几乎始终是最佳选择。UTF-8支持任何语言,因此您通常希望将DB_CHARSET保留为utf8,而将DB_COLLATE值用于您的语言。</td> </tr> <tr> <td><code>define('DB_COLLATE', '');</code></td> <td>数据库整理类型。从WordPress 2.2版开始,DB_COLLATE可用于指定数据库排序规则(即字符集的排序顺序)。在大多数情况下,此值应留为空白(空),以便MySQL可以根据DB_CHARSET指定的数据库字符集自动分配数据库归类。对于大多数西欧语言,您可能需要将DB_COLLATE设置为UTF-8字符集中定义的UTF-8值之一的示例是,当您输入的字符与另一种语言不同时,正在显示。</td> </tr> </tbody> </table> </figure> <h3 class="wp-block-heading"><span id="WordPress%E7%9B%90%E5%92%8C%E9%94%AE" class="ez-toc-section"></span>WordPress盐和键</h3> WordPress使用Cookie(或存储在浏览器中的信息)来验证登录用户和评论者的身份,因此WordPress在wp-config.php文件中还包括秘密身份验证安全密钥和盐。从本质上讲,这些WordPress安全密钥是您网站的附加密码,它们很长,随机且复杂,因此几乎不可能被破解。 这四个键是增强安全性所必需的。建议使用这四种盐,但不是必需的,因为如果没有提供盐,WordPress会为您生成盐。它们默认包含在wp-config.php中。 <figure class="wp-block-table"> <table> <tbody> <tr> <th>行</th> <th>说明</th> </tr> <tr> <td><code>define('AUTH_KEY', 'put your unique phrase here');</code></td> <td>安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。</td> </tr> <tr> <td><code>define('SECURE_AUTH_KEY', 'put your unique phrase here');</code></td> <td>安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。</td> </tr> <tr> <td><code>define('LOGGED_IN_KEY', 'put your unique phrase here');</code></td> <td>安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.5中添加。</td> </tr> <tr> <td><code>define('NONCE_KEY', 'put your unique phrase here');</code></td> <td>安全密钥,用于更好地加密用户cookie中存储的信息。在WordPress 2.7中添加</td> </tr> <tr> <td><code>define('AUTH_SALT', 'put your unique phrase here');</code></td> <td>对应于“ AUTH_KEY”的盐。</td> </tr> <tr> <td><code>define('SECURE_AUTH_SALT', 'put your unique phrase here');</code></td> <td>对应于“ SECURE_AUTH_KEY”的盐。</td> </tr> <tr> <td><code>define('LOGGED_IN_SALT', 'put your unique phrase here');</code></td> <td>对应于’LOGGED_IN_KEY’的盐。</td> </tr> <tr> <td><code>define('NONCE_SALT', 'put your unique phrase here');</code></td> <td>对应于’NONCE_KEY’的盐。</td> </tr> </tbody> </table> </figure> <h3 class="wp-block-heading"><span id="WordPress%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E5%89%8D%E7%BC%80" class="ez-toc-section"></span>WordPress数据库表前缀</h3> <code>$table_prefix</code>是放在数据库表前面的值。如果要为数据库前缀使用<code>wp_</code>以外的值,请更改该值。通常,如果您要在同一数据库中安装多个WordPress博客(与多站点功能相同),则会更改此设置。仅使用数字、字母和下划线。 <figure class="wp-block-table"> <table> <tbody> <tr> <th>行</th> <th>说明</th> </tr> <tr> <td><code>$table_prefix = 'wp_';</code></td> <td>WordPress数据库表前缀。</td> </tr> </tbody> </table> </figure> <h3 class="wp-block-heading"><span id="WordPress%E8%AF%AD%E8%A8%80" class="ez-toc-section"></span>WordPress语言</h3> WordPress 4.0引入了在WordPress管理仪表板而不是wp-config.php中更改语言的选项。通过访问设置>常规并选择站点语言,直接从WordPress仪表板中更改语言。 <h3 class="wp-block-heading"><span id="ABSPATH_WordPress%E7%9B%AE%E5%BD%95%E7%9A%84%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84" class="ez-toc-section"></span>ABSPATH WordPress目录的绝对路径</h3> <figure class="wp-block-table"> <table> <tbody> <tr> <th>行</th> <th>说明</th> </tr> <tr> <td><code>if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');</code></td> <td>该行定义了WordPress目录的绝对路径。</td> </tr> <tr> <td><code>require_once(ABSPATH . 'wp-settings.php');</code></td> <td>设置WordPress变量和包含的文件。</td> </tr> </tbody> </table> </figure> <h3 class="wp-block-heading"><span id="wp-configphp_%E9%AB%98%E7%BA%A7%E9%80%89%E9%A1%B9" class="ez-toc-section"></span>wp-config.php 高级选项</h3> 以下部分包含wp-config.php的高级选项。更改可能会导致您的网站出现无法预料的问题,因此请确保在添加或修改这些设置之前进行WordPress备份。 有关wp-config.php设置选项的完整列表,请访问WordPress Codex。 <figure class="wp-block-table"> <table> <tbody> <tr> <th>选项</th> <th>说明</th> <th>行</th> </tr> <tr> <td>WordPress地址(URL)</td> <td>WP_SITEURL允许定义WordPress地址(URL)。定义的值是WordPress核心文件所在的地址。它也应该包含http://部分。(不要在末尾添加斜杠“ /”。)在wp-config.php p中设置此值将覆盖siteurl的wp_options表值,并禁用WordPress仪表板的 设置> 常规 页面中的WordPress 地址(URL)字段。 。</td> <td><code>define( 'WP_SITEURL', 'http://example.com/wordpress' );</code></td> </tr> <tr> <td>修改自动保存间隔</td> <td>编辑文章时,WordPress在编辑时使用Ajax自动将修订保存到文章中。您可能需要增加此设置以延长两次自动保存之间的延迟,或者减少该设置以确保您不会丢失任何更改。默认值为60秒。</td> <td><code>define( 'AUTOSAVE_INTERVAL', 160 ); </code> //秒</td> </tr> <tr> <td>禁用文章修订</td> <td>默认情况下,WordPress将保存对文章或页面所做的每次编辑的副本,从而可以还原到该文章或页面的先前版本。可以禁止保存修订,或者可以指定每个文章或页面的最大修订数。</td> <td><code>define( 'WP_POST_REVISIONS', false );</code></td> </tr> <tr> <td>指定文章修订的数量</td> <td>如果要指定最大修订版本数,请将false更改为整数/数字(例如3或5)。</td> <td><code>define('WP_POST_REVISIONS', 3);</code></td> </tr> <tr> <td>设置Cookie域</td> <td>可以为具有异常域设置的用户指定在WordPress cookie中设置的域。原因之一是子域是否用于提供静态内容。为了防止将WordPress cookie与每个请求一起发送到子域中的静态内容,您可以将cookie域设置为仅非静态域。</td> <td><code>define('COOKIE_DOMAIN', 'www.askapache.com');</code></td> </tr> <tr> <td>启用多站点/网络能力</td> <td>WP_ALLOW_MULTISITE是WordPress 3.0版中引入的一项功能,用于启用以前通过WordPress MU实现的多站点功能。如果wp-config.php中没有此设置,则默认为false。</td> <td><code>define('WP_ALLOW_MULTISITE', true);</code></td> </tr> <tr> <td>重定向不存在的博客</td> <td>如果访问者尝试访问不存在的博客,则可以使用NOBLOGREDIRECT重定向浏览器。例如:http://nonexistent.example.com或http://example.com/nonexistent/。</td> <td><code>define('NOBLOGREDIRECT', 'http://example.com');</code></td> </tr> <tr> <td>调试</td> <td>WP_DEBUG选项控制一些错误和警告的显示。如果wp-config.php中没有此设置,那么该值将被假定为false。注意:示例中的true和false值未设置为单引号(’),因为它们是布尔值。</td> <td><code>define('WP_DEBUG', true);</code> <code>define('WP_DEBUG', false);</code></td> </tr> <tr> <td>禁用Javascript串联</td> <td>为了使管理区域更快,将所有Javascript文件连接到一个URL中。如果Javascript无法在您的管理区域中运行,则可以尝试禁用此功能。</td> <td><code>define('CONCATENATE_SCRIPTS', false);</code></td> </tr> <tr> <td>增加分配给PHP的内存</td> <td>WP_MEMORY_LIMIT选项允许您指定PHP可以使用的最大内存量。如果收到诸如“允许的xxxxxx字节的内存大小已耗尽”之类的消息,则可能需要此设置。此设置仅为WordPress增加PHP内存,而不为其他应用程序增加。默认情况下,WordPress会尝试将分配给PHP的内存增加到40MB(代码在wp-settings.php的开头),因此wp-config.php中的设置应该反映出大于40MB的大小。WordPress将在使用此功能之前自动检查是否为PHP分配的内存少于输入的值。例如,如果PHP已分配了64MB,则无需将此值设置为64M,因为WordPress将在需要时自动使用所有64MB。注意:如果您的主机不允许增加PHP内存限制,则此设置可能不起作用。联系您的主机以增加PHP内存限制。另外,请注意,许多主机将PHP限制设置为8MB。</td> <td>将PHP内存增加到64MB <code>define('WP_MEMORY_LIMIT', '64M');</code>将PHP内存增加到96MB <code>define('WP_MEMORY_LIMIT', '96M');</code></td> </tr> <tr> <td>缓存</td> <td>WP_CACHE设置(如果为true)在执行wp-settings.php时包括wp-content / advanced-cache.php脚本。默认情况下,WordPress的当前版本已修改此WP_CACHE设置,以通过“其他”代码(插应用/自定义函数)启动简单的启用缓存概念,以挂接到WordPress提供的缓存API中。</td> <td><code>define('WP_CACHE', true);</code></td> </tr> <tr> <td>Cron定时计划</td> <td>如果预定的文章没有发布,此设置很有用。此替代方法使用重定向方法,该方法使用户浏览器在cron需要运行时获得重定向,以便当cron在刚刚断开的连接中继续运行时,他们可以立即返回站点。有时这种方法有点笨拙,这就是为什么它不是默认方法的原因。</td> <td><code>define('ALTERNATE_WP_CRON', true);</code></td> </tr> <tr> <td>清空回收站</td> <td>此设置控制WordPress从回收站中永久删除文章、页面、附件和评论之前的天数。默认值为30天:</td> <td><code>define('EMPTY_TRASH_DAYS', 30 );</code> // 30天</td> </tr> <tr> <td>自动数据库优化</td> <td>在2.9版中添加了自动数据库优化支持,只有在需要此功能时,才可以通过将以下定义添加到wp-config.php文件中来启用该功能。可以在{$your_site} /wp-admin/maint/repair.php上找到该脚本。 请注意:此定义启用了该功能,设置此定义后,用户无需登录即可访问此功能。这是因为其主要目的是修复损坏的数据库。数据库损坏时,用户通常无法登录。</td> <td><code>define('WP_ALLOW_REPAIR', true);</code></td> </tr> <tr> <td>禁用插应用和主题编辑器</td> <td>有时您可能希望禁用插应用或主题编辑器,以防止过分热心的用户能够编辑敏感文件并可能使站点崩溃。如果黑客获得了特权用户帐户的访问权限,则禁用这些功能还可以提供额外的安全保护。</td> <td><code>define('DISALLOW_FILE_EDIT',true);</code></td> </tr> <tr> <td>禁用插应用和主题更新和安装</td> <td>这将阻止用户使用WordPress管理区域中的插应用和主题安装/更新功能。设置此常量还会禁用“插应用和主题”编辑器(即,您不需要设置DISALLOW_FILE_MODS和DISALLOW_FILE_EDIT,因为它本身具有DISALLOW_FILE_MODS的作用)。</td> <td><code>define('DISALLOW_FILE_MODS',true);</code></td> </tr> <tr> <td>要求使用SSL访问后台和登录</td> <td>FORCE_SSL_LOGIN适用于要保护登录名以使密码不会以明文形式发送的情况,但是您仍希望允许非SSL管理员会话(因为SSL速度很慢)。</td> <td><code>define('FORCE_SSL_LOGIN',true);</code></td> </tr> <tr> <td>清理图像编辑</td> <td>默认情况下,WordPress每次编辑图像时都会创建一组新图像。恢复原始图像时,所做的编辑将存储在服务器上。将IMAGE_EDIT_OVERWRITE定义为true会更改此行为。仅创建了一组图像编辑,并且在还原原始图像时,这些编辑将从服务器中删除。</td> <td><code>define( 'IMAGE_EDIT_OVERWRITE', true );</code></td> </tr> </tbody> </table> </figure> <h2 class="wp-block-heading"><span id="wp-config%E6%96%87%E4%BB%B6%E4%BD%8D%E4%BA%8E%E5%93%AA%E9%87%8C%EF%BC%9F" class="ez-toc-section"></span>wp-config文件位于哪里?</h2> 在一个完整的、可操作的WordPress网站中,wp-config.php文件位于该网站的“根目录”中。在大多数情况下,除非您使用自定义的共享托管解决方案,否则这意味着您将使用安全的FTP客户端连接到站点,并导航到public_html文件夹,并且该文件将位于此位置。 但是,如果您刚刚安装了WordPress或正在修改WordPress服务器,则可能已经注意到不存在此类文件。别担心,因为您的文件仍然存在!通过全新的WordPress安装,wp-config文件只是改名为wp-config-sample.php,这是有充分理由的。继续阅读以找出原因。 <h3 class="wp-block-heading"><span id="WP%E9%85%8D%E7%BD%AE%E4%BD%8D%E7%BD%AE" class="ez-toc-section"></span>WP配置位置</h3> 最初安装WordPress时,会包含用于其配置的示例文件,以使您大致了解该文件应包含的内容。最重要的是,它向您展示了如何连接到MySQL数据库以为WordPress网站供电。请记住,仅创建数据库本身是不够的!在WordPress提供的示例文件中,您将需要遵循常识性安全措施。 通过将已存在的wp-config-sample.php文件重命名为该文件,可以轻松地在根目录中轻松创建实际的wp-config.php文件。但是请记住,这将阻止您的网站在不进行某些修改的情况下正常工作。 这是因为在样本中放置了“虚拟”信息。当然,WordPress绝对不可能知道您要用于数据库的服务器。如果您的站点很小,或者您的Web主机未为您提供数据库服务器的地址,则可以将“ localhost”保留为主机。 但是,您将需要创建一个新数据库,命名为您选择的在文件中调用数据库的名称,在MySQL中创建一个仅具有访问信息所需的最基本权限的新用户,并将所有这些访问信息放入文件中。 <h2 class="wp-block-heading"><span id="%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91wp-configphp%E6%96%87%E4%BB%B6%EF%BC%9F" class="ez-toc-section"></span>如何编辑wp-config.php文件?</h2> 您可以通过几种不同的方式编辑wp-config.php文件。但是,为了编辑WordPress配置文件,您需要访问服务器上的文件。 <ul> <li>首先,您需要下载并安装sFTP客户端,例如 FileZilla (完全免费,并且可以在所有操作系统上正常运行)。这将允许您直接访问WordPress文件。</li> <li>然后,您需要使用网站托管者提供的凭据通过FTP客户端连接到网站的服务器。如果您不熟悉自己的凭据,请与您的托管服务提供商联系。</li> <li>您还可以使用WordPress主机提供的文件管理器。最常见的文件管理器平台是cPanel。从cPanel文件管理器中,您可以访问网站的文件,包括wp-config.php文件。</li> </ul> <blockquote class="wp-block-quote">注意:如果您是全新安装的WordPress,则首先需要重命名wp-config-sample.php文件为wp-config.php。通常可以通过任何FTP客户端完成此操作。</blockquote> 重命名示例文件后,很容易只使用主机提供的文本编辑器。但是,在这种情况下,最佳实践是下载文件,在本地进行编辑,确认所有更改正确,保留原始备份,然后重新上传修改后的版本。如果您犯了使文件无法使用的错误,这将确保您的站点能够继续工作。 请记住,技术上所需的全部就是您的站点要运行的MySQL数据库信息。我们稍后将介绍您可以在此文件中设置的其他高级选项。 <h3 class="wp-block-heading"><span id="%E7%BC%96%E8%BE%91wp-configphp%E6%96%87%E4%BB%B6" class="ez-toc-section"></span>编辑wp-config.php文件</h3> <blockquote class="wp-block-quote">注意:在修改WordPress网站上的任何WordPress核心文件或代码之前,请确保进行备份。我们建议使用WordPress备份插应用,例如BackupBuddy。</blockquote> <blockquote class="wp-block-quote">注意:仅使用文本编辑器来编辑WordPress文件。切勿使用Microsoft Word或Pages等文字处理器。</blockquote> <ul> <li>1.完整备份您的WordPress网站。确保您知道在发生问题时用于WordPress备份和还原的方法。</li> <li>2.在WordPress安装的基本目录中找到wp-config.php文件。</li> <li>3.使用文本编辑器打开文件。</li> <li>3.仔细进行更改,注意PHP的语法。仔细检查WordPress Codex中的值。</li> <li>4.确保检查输入的任何值前后的前导空格和/或尾随空格。不要删除单引号!</li> <li>5.在保存文件之前,请再次确认您没有意外删除参数值周围的任何单引号。确保文件中关闭PHP标记后没有任何内容。文件中的最后一件事应该是<code>?></code>,仅此而已。没有空间。</li> <li>6.要保存文件,请选择“文件”>“另存为”>“ wp-config.php”,然后将文件保存在WordPress安装的根目录中。</li> <li>7.在浏览器中刷新WordPress网站,以确保一切正常。</li> </ul> <h3 class="wp-block-heading"><span id="%E5%A6%82%E4%BD%95%E8%BF%9B%E4%B8%80%E6%AD%A5%E8%87%AA%E5%AE%9A%E4%B9%89wp-configphp%E6%96%87%E4%BB%B6" class="ez-toc-section"></span>如何进一步自定义wp-config.php文件</h3> 您将要保留由WordPress提供的示例wp-config.php文件提供的文件中几乎所有被调用的功能。您可能想知道还可以如何使用此配置文件。 一般而言,利用<code>define()</code>函数配置文件中的WordPress核心,您几乎可以完成任何事情。例如,您可以确保尝试访问错误URL的访问者仅被重定向到您的主页。 有关您可以对wp-config进行进一步编辑的完整和最新列表,以使其成为针对您的站点的更自定义的解决方案,建议您查看WordPress有关编辑wp-config.php的建议。请记住,并非所有这些编辑都是无害的,因此请确保在部署每个功能之前已对其进行了彻底的研究! <h2 class="wp-block-heading"><span id="%E5%85%B3%E4%BA%8Ewp-config%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90" class="ez-toc-section"></span>关于wp-config文件权限</h2> 尽管WordPress的用户友好性很高,但在解释如何为wp-config.php文件等文件设置服务器权限方面做得不好。 <h3 class="wp-block-heading"><span id="WordPress%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C" class="ez-toc-section"></span>WordPress文件权限如何工作</h3> 如果您不熟悉,WordPress文件权限可以有效地说明允许哪些人访问哪些文件以及它们如何访问它们。 使用文件权限时,我们有<em>三种类型的用户</em>: <ul> <li>用户-本质上是网站管理员</li> <li>群组–有点过时了,但是它意味着具有某种管理访问权限的“域”中的人员</li> <li>世界–这意味着地球上其他所有人都可以访问您的网站。</li> </ul> 要知道还有另外<em>三个</em>同样重要的<em>动作</em>。该集合包含“用户”,“组”和/或“世界”可能允许或不允许执行的三种类型的动作。 <ul> <li>读取–这意味着查看文件的<em>内容</em></li> <li>写入–这意味着既可以查看又可以编辑文件的内容</li> <li>执行-这意味着能够在服务器端<em>运行</em>文件,但看不到源</li> </ul> 鉴于最重要的WordPress文件在PHP中,我们将需要让几乎每个人<em>执行</em>大多数文件。请记住,如果我们授予<em>读取</em>文件的权限,则可以让人们看到文件的实际内容。如果我们要在文件中包含敏感的数据库信息,这可能不是最好的主意! 权限设置有几种方式,但最简单的方法是利用三个数字。“ 777”表示全世界所有人的完全开放权限。您的权限应该<em>不</em>设置到wp-config。这些数字是通过使用二进制系统得出的,我们现在将不再讨论。 简而言之,根据WordPress的建议,您对该文件的数字权限应为“ 444”。您应该能够使用任何基于Web的文件管理系统或FTP客户端进行设置。最糟糕的是,如果您可以访问linux终端,则可以简单地利用chmod来执行此更改。 <h2 class="wp-block-heading"><span id="%E4%BD%BF%E7%94%A8wp-configphp%E8%B0%83%E8%AF%95WordPress" class="ez-toc-section"></span>使用wp-config.php调试WordPress</h2> 如前所述,虽然WordPress网站的主要配置文件必须具有数据库连接信息,但它也用于设置高级选项,包括调试。 即使您不是开发人员,您可能也想查看为什么会弹出某个错误,或者显示比当前了解的每个错误更多的信息。 为此,<em>在</em>确保将文件权限设置为“ 444”<em>后</em>,需要设置一个特定变量。进入文件,只需在所有数据库信息下面添加以下行: <ol class="linenums"> <li class="L0"><code class="language-php" lang="php"><span class="pln">define</span><span class="pun">(</span> <span class="str">'WP_DEBUG'</span><span class="pun">,</span> <span class="kwd">true</span> <span class="pun">);</span></code></li> </ol> 这仅启用调试模式。我们将要防止调试模式阻止页面加载,以使访问者不会离开站点。这意味着我们需要添加以下行: <ol class="linenums"> <li class="L0"><code class="language-php line-numbers" lang="php"><span class="pln">define</span><span class="pun">(</span> <span class="str">'WP_DEBUG_DISPLAY'</span><span class="pun">,</span> <span class="kwd">false</span> <span class="pun">);</span></code></li> <li class="L1"><code class="language-php line-numbers" lang="php"><span class="lit">@ini_set</span><span class="pun">(</span> <span class="str">'display_errors'</span><span class="pun">,</span> <span class="lit">0</span> <span class="pun">);</span></code></li> </ol> 我们差不多完成了,但是到了这一点,调试模式将打开,用户可以访问页面,但是我们仍然看不到WordPress调试器输出的信息。为此,我们需要将信息写入日志文件。要将其写入名为/wp-content/debug.log的文件,只需添加以下最后一行代码: <ol class="linenums"> <li class="L0"><code class="language-php" lang="php"><span class="pln">define</span><span class="pun">(</span> <span class="str">'WP_DEBUG_LOG'</span><span class="pun">,</span> <span class="kwd">true</span> <span class="pun">);</span></code></li> </ol> <blockquote class="wp-block-quote">注意:在执行了不返回预期数据的操作后,您需要引用该位置的.log文件以查看出了什么问题。</blockquote> <h2 class="wp-block-heading"><span id="%E7%A4%BA%E4%BE%8BWordPress%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6" class="ez-toc-section"></span>示例WordPress配置文件</h2> 就像我们讨论过的那样,WordPress包含名为wp-config-sample.php的文件,可让新用户了解常规WordPress配置文件的外观。 让我们看一下每个标准安装的WordPress附带的示例WordPress配置文件,并讨论可能的其他选项。查看文件中的注释,以获取有关每一行实际含义的更多信息。 <h3 class="wp-block-heading"><span id="%E8%AF%A5WP-CONFIG-samplephp%E6%96%87%E4%BB%B6" class="ez-toc-section"></span>该WP-CONFIG-sample.php文件</h3> 为了给您提供wp-config.php示例文件,WordPress预先加载了示例配置文件。首次使用手动方法安装WordPress时,您需要更新此文件中的信息,然后将文件重命名为wp-config.php。 <pre class="pure-highlightjs"><code class="null"><?php /** * WordPress基础配置文件。 * * 这个文件被安装程序用于自动生成wp-config.php配置文件, * 您可以不使用网站,您需要手动复制这个文件, * 并重命名为“wp-config.php”,然后填入相关信息。 * * 本文件包含以下配置选项: * * * MySQL设置 * * 密钥 * * 数据库表名前缀 * * ABSPATH * * @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php * * @package WordPress */ // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define( 'DB_NAME', 'database_name_here' ); /** MySQL数据库用户名 */ define( 'DB_USER', 'username_here' ); /** MySQL数据库密码 */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL主机 */ define( 'DB_HOST', 'localhost' ); /** 创建数据表时默认的文字编码 */ define( 'DB_CHARSET', 'utf8' ); /** 数据库整理类型。如不确定请勿更改 */ define( 'DB_COLLATE', '' ); /**#@+ * 身份认证密钥与盐。 * * 修改为任意独一无二的字串! * 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org密钥生成服务} * 任何修改都会导致所有cookies失效,所有用户将必须重新登录。 * * @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设置 * 不同的数据表前缀。前缀名只能为数字、字母加下划线。 */ $table_prefix = 'wp_'; /** * 开发者专用:WordPress调试模式。 * * 将这个值改为true,WordPress将显示所有用于开发的提示。 * 强烈建议插应用开发者在开发环境中启用WP_DEBUG。 * * 要获取其他能用于调试的信息,请访问Codex。 * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', false); /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */ /** WordPress目录的绝对路径。 */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', dirname( __FILE__ ) . '/' ); } /** 设置WordPress变量和包含文件。 */ require_once( ABSPATH . 'wp-settings.php' );</code></pre> 注意:根据您的设置,您的WordPress配置文件版本可能看起来有些不同。 <h2 class="wp-block-heading"><span id="%E5%A6%82%E4%BD%95%E9%87%8D%E5%91%BD%E5%90%8Dwp-config-samplephp%EF%BC%9F" class="ez-toc-section"></span>如何重命名wp-config-sample.php?</h2> 简而言之,首先,您应确保wp-config-sample.php正是您想要的真实文件的外观。 接下来,您应确保将权限正确设置为“ 444”,以使黑客无法获得未经授权的访问。 <blockquote class="wp-block-quote">注意:在对WordPress网站上的文件进行任何更改之前,应备份WordPress网站。进行备份意味着无论出现什么错误,所有数据都将保留。</blockquote> 完成此操作后,只需从文件名中删除<code>-sample</code>,确保它位于根目录中就可以了!如果主机没有提供允许您重命名文件的便捷在线文件管理器,则可以使用大量FTP程序之一来执行此操作。 <h2 class="wp-block-heading"><span id="wp-configphp%E6%96%87%E4%BB%B6%E7%9A%84%E5%AE%89%E5%85%A8%E6%80%A7%E5%A6%82%E4%BD%95%EF%BC%9F" class="ez-toc-section"></span>wp-config.php文件的安全性如何?</h2> WP-config.php文件的安全性取决于您的操作。仅添加简单的数据库详细信息不会有问题。确保设置了所有安全措施,例如示例wp-config.php 文件中已经存在的哈希盐值。如果您想使用快捷方式,则肯定不是该文件的地方! 有关此文件的最常见安全问题是无法利用正确的权限。请记住,为此文件设置的数字权限只是“ 444”。这样,每个人都可以访问并执行需要执行的文件。在任何情况下,用户都不能查看该文件的实际内容,除非您希望数据库被盗! 既然您已经完成了创建MySQL数据库、用户、密码等所有工作,那么似乎仅使用默认的数据库名称、用户名和密码是最简单的,对吧? <strong>错误。</strong>这样做很可能是网站管理员可能犯的最严重的错误。有专门用于攻击WordPress网站的工具,这些工具实际上是从一个站点到另一个站点,并尝试使用这些默认凭据。愚弄这些攻击性黑客工具的最佳方法是给数据库命名完全随机的名称(但名称前仍带有必需的“ <code>wp_</code>”前缀),以进一步破坏数据库。 如果一切都得到正确利用,则wp-config应该非常安全。假设您具有足够的攻击防护,则可以定期更新所有软件,并使用安全密码,那么在继续WordPress开发之旅时,一切都会很好。 最后修改:2024 年 04 月 29 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏