WordPress WP-Config文件:全面指南


WordPress配置文件,也称为WP-Config.php,最常用于设置数据库连接,然后忘记.尽管其性质被忽视,但它是优化的特征和机会的强大.
虽然通常在日常使用CONFIG文件时,我将投注几乎每个WordPress安装都可以从添加几件事中添加到此文件中.一个良好的考虑out配置文件不仅可以更快地制作一个网站并更安全,也可以添加更频繁地清空垃圾的功能,或者禁用修订等功能,并提供高级调试功能.
在本文中,我们将使用CONFIG文件发送的默认设置以及如何调整它以更好地适应WordPress网站的需求.
我们将介绍:
- 是什么wp-config.php文件?
- 默认配置内容
- 数据库配置
- 盐和键
- 其他配置设置
- 自定义wp-config文件
- WordPress URL
- 自定义目录位置
- 自定义默认主题
- 自定义数据库表
- 修订,autosaves和垃圾
- WordPress MultiSite
- 开发人员设置
- 增加内存限制
- cron设置
- 禁用表更新
- ssl在admin
- 禁用自动更新
中
wp-config.php文件是什么?
根据WordPress Codex,Config文件是 WordPress安装中最重要的文件之一.
IT文件位于WordPress根目录中,包含数据库连接数据等重要信息(用户名,密码等)和各种设置.
wp-config.php
实际上不是用wordpress运送的文件的一部分.如果您下载WordPress软件,则无法在任何地方找到此文件.相反,您将找到 wp-config-sample.php
.
当您安装WordPress时,可以将此文件重命名为 wp-config.php
以设置您的环境,或者WordPress将根据您在安装期间提供的信息创建最终配置文件.
默认配置内容
您可以通过在github中查看此示例来查看Config文件的默认内容.这是您在自己的安装中获得的同样的 wp-config-sample.php
文件.该文件记录得非常好,我仍然可以在这里解释一些设置.
配置文件中的许多设置使用PHP常量.作为PHP文档状态,常量是一个简单值的标识符.脚本持续时间无法更改该值.常量的一般格式是 define( 'CONSTANT_NAME', 'CONSTANT VALUE' )
.
所以让我们通过 wp-config.php 手段中的所有代码.
数据库配置
前六个设置是关于数据库连接的.WordPress存储数据库中的帖子和各种其他位和数据;它需要访问所述数据库来运行.数据库连接通常需要主机,用户名,密码和数据库名称.
加载GIST D3EEE86104B3C58D0DD0.
上面的代码显示没有内联文档的常量.前四条线定义了先前谈过的四个设置.Charset和Collation都必须使用语言以及如何存储特定字符.UTF8是一个不错的选择,因为它包含例如"ő"等特殊字符.归类确定如何在数据库中进行串.一些离子可能区分大小写,因此其他可能区分大小写.除非您专门了解这些事情,否则最好单独留下这两个设置.
盐和键
接下来的八个设置都用于保护WordPress.身份验证密钥用作安全检查,同时散列密码时使用盐.
加载GIST D3EEE86104B3C58D0DD0.
你 can 自己填写这些,但真的无需.您可以使用秘密密钥生成实用程序非常快速地创建这些常量.
我强烈推荐阅读为什么WordPress认证独特的钥匙和盐很重要-这是一个很好的阅读.作为文章提到,现在又一次地改变你的钥匙和盐不是一个不好的做法.为什么没有每90天左右设置提醒?
其他配置设置
有两个设置在其中,表前缀和调试设置.表前缀告诉WordPress是什么前缀您的数据库表使用.默认值为wp_,
,这意味着您的帖子表被命名为 wp_posts
.
保护攻击的最佳方法之一是不可预测的.尽可能少地使用默认设置是一个好主意,尤其是当它们与您的数据库一样重要时.如果您只需安装WordPress,请使用晦涩的前缀(如 Jbh8h3dD_oj3e_
)是一个好主意.WordPress不介意这是一个更复杂;脚本在 wp_postmeta
之间存在很小差别.
下一个设置是关于调试WordPress的.默认情况下,它设置为false,这意味着将隐藏错误消息.这是生产网站上所需的行为,但在编码或调试时,您肯定希望看到错误,以便您可以修复它们.如果您曾经激活主题或插件并获得白色屏幕,则至少可以弄清楚通过将 WP_DEBUG
常量设置为"true".
加载GIST D3EEE86104B3C58D0DD0.
自定义WP-Config文件
配置文件就像任何其他文件一样,这意味着您可以向其添加任何有效的PHP.那个说,在编辑 wp-config.php
时,应该注意.仅在编辑时绝对必要并小心时添加到它,因为您所做的任何不正确的编辑可能导致您的网站停止运作.毕竟,这个是 WordPress的心脏我们正在滋补!
是一个很好的主意,在WordPress Codex中引用WOWPRING Codex中的WP-Config文档,您可以为此文件所做的所有官方调整.如果正确粘贴,我将在本文中提到的所有添加剂都是安全的,但请注意每个人都这样做.
有一些编辑可以在配置文件中具有一个位置,但不是文档的一部分.一个很好的例子是使用Amazon S3和CloudFront插件时AmaI Access键和Amazon S3服务器的密钥.您还可以使用它来存储您的Google字体或Google地图API密钥和其他类似的事情.
请记住,虽然此方法是不是,但每个数据都在周围的每一个数据.如果您正在创建用户需要输入其/她的地址的插件,它应该存储在数据库中.
1.WordPress URL
您可以在配置文件中设置两个设置,控制WordPress URL.一个是 WP_HOME
常数,另一个是 WP_SITEURL
常数.这些人总是有些困惑,所以让我们清楚的事情清楚.
两个设置可以从管理员的WordPress设置部分中控制.屏幕截图中的第一个设置,WordPress地址对应于WP_SITEURL
.第二个设置,站点地址对应于 WP_HOME
.
当您使用配置文件来定义这些URL时,覆盖管理员中给出的设置,配置文件优先.
WordPress地址或 WP_SITEURL
是用户输入访问您的网站的URL.站点地址或 WP_HOME
应指向WordPress安装的根目录,该根目录位于子目录中.
要了解有关这些URL的使用和问题,我建议使用WP_SiteURL和WP_HOME迁移WordPress站点.
2.自定义目录位置
配置文件允许您修改WordPress使用的各种文件夹的位置.您可以使用下面概述的方法移动内容,插件和上传目录并创建其他主题目录.您可能想要这样做的原因有三个原因:
- 模仿从另一个系统的站点迁移后模仿文件夹结构
- 基于不依赖于默认结构
- 清除根目录
的附加安全性
的杂乱
加载GIST D3EEE86104B3C58D0DD0.
请注意,不同的文件夹表现略有不同. wp-content
文件夹需要绝对路径和要提供的完整URI. plugins
目录大致相同,但是对于兼容性问题,您可能希望使用 PLUGINDIR
常数.
主题和上传有点不同.默认主题目录已硬编码为WordPress,始终将其设置为内容目录中名为 themes
的目录.但是,您可以添加其他主题目录.在上面的代码中,我在根文件夹中创建了一个主题目录.
上载目录始终相对于 ABSPATH
目录,这将是您的根目录.在这种情况下,我已将目录放在根文件夹中.
假设WordPress在一个 wordpress
子目录中,上面的代码将导致以下文件夹结构:
左侧的原始WP文件夹结构,自定义结构右
有一种特殊的插件文件夹,不多人都知道称为 mu-plugins
,短暂的"必须使用插件".在任何其他插件之前默认加载这些插件.要了解更多信息,请阅读WordPress MU-PLUGINS上的帖子,也会在CODEX中引用必须使用插件文档.如果您喜欢这个想法,但要更改您可以这样做的位置,以类似的方式如何更改上面的插件目录.
加载GIST D3EEE86104B3C58D0DD0.
3.自定义默认主题
WordPress中的默认主题是最近的二十多个主题.在Wordpress 4.0中,这将是二十十四岁.如果您想要一个不同的后退主题,可以将 WP_DEFAULT_THEME
更改为首选主题的文件夹名称.
加载GIST D3EEE86104B3C58D0DD0.
如果您必须更改此,我建议选择简单但非常良好的主题.如果出现问题,并且缺少您的网站的主题,它将恢复为默认主题.
4.自定义数据库表
WordPress有能力为用户和usermeta表使用不同的表名.使用自定义表名可以为您提供一些额外的保护,尽管它可能是一个很可能,如果有人可以访问您的数据库,他们将弄清楚这一点.
加载GIST D3EEE86104B3C58D0DD0.
在您进行更改之前,请务必阅读更改用户表以使转换尽可能平滑.
5.修订,自动保存和垃圾箱
我打赌,许多WordPress用户不使用后修订版功能.即使它已经存在于WordPress 2.6以来,它的使用是被降级到Web的利基角.幸运的是,WordPress允许您使用 WP_POST_REVISIONS
常量轻松限制或禁用修订.
加载GIST D3EEE86104B3C58D0DD0.
请注意,您应该只使用一个或另一个,我刚刚在一个示例中放置,以便于参考.
autosaves的使用更广泛,但这些可能比需要更频繁地发生一点.默认情况下,WordPress每60秒保存每60秒.如果您通过复制粘贴它创建内容,或者您并不担心丢失一分钟的工作,您可以增加自动保存时间.
加载GIST D3EEE86104B3C58D0DD0.
垃圾是可以容易地控制的另一个杂波源.通过设置 EMPTY_TRASH_DAYS
常数,您可以控制帖子在完全删除之前删除删除的天数.您也可以将其设置为0以完全禁用垃圾.
加载GIST D3EEE86104B3C58D0DD0.
6.WordPress MultiSite
配置文件是创建多网安装的起点.Codex中的创建网络页面会和实际的多站程安装为:
多站点网络是所有分享相同WordPress安装的站点集合.他们还可以共享插件和主题.网络中的各个站点是虚拟网站,因为它们在您的服务器上没有自己的目录,尽管他们确实在共享安装中有单独的媒体上传目录,但他们确实在数据库中具有单独的表.
multiSite允许您根据相同的WordPress安装创建单独的站点.这允许您轻松管理多个网站.MultiSite通常用于商店,博客和公司网站的公司网站可能是分开的.它也可以用于托管博主社区的网站.开发人员使用它来托管多个主题和插件.
要开始,您需要定义单个常量:
加载GIST D3EEE86104B3C58D0DD0.
一旦定义,重新加载WordPress admin,您应该在"工具"部分中看到"网络设置"选项.按照那里概述的说明进行操作.WordPress将要求您将其他设置添加到配置文件以及.htaccess文件.完成后,您应该注销,当您重新登录时,您将有一个很好的新网络安装.有关更多完整设置指南,请参阅"创建网络"页面.
与多站程相关的设置允许您在访问子站点时重定向用户,该子站点不存在. NOBLOGREDIRECT
常量定义了URL用户在这些情况下被定义.
加载GIST D3EEE86104B3C58D0DD0.
尤其是在使用多站点安装时,您可能希望确保无法使用内置文件编辑器编辑插件和主题,您甚至可能会确保用户无法安装自己的插件和主题.这可以通过 DISALLOW_FILE_EDIT
和 DISALLOW_FILE_MODS
常数来实现.
加载GIST D3EEE86104B3C58D0DD0.
请注意,如果您定义 DISALLOW_FILE_MODS
为true,则无需定义 DISALLOW_FILE_EDIT
,因为这也将被禁用.
7.开发人员设置
配置文件有许多设置,帮助开发人员捕获错误或写入更好的代码.这些最突出的是 WP_DEBUG
常数,我们已经看了.将此定义为"True"将强制显示错误.
此外,您可以确保页面加载中满载完整和未修改的CSS和JavaScript文件:
加载GIST D3EEE86104B3C58D0DD0.
默认情况下,脚本被连接并缩小.连接是加入文件的过程.而不是单独加载20个脚本,而是将它们连接到一个文件并加载.缩小化是将文件压缩成一种非人类可读的格式,但计算机工作很好.这两种方法可节省相当大的加载时间和服务器资源.
如上所说,如果代码连接并缩小,则不可能找出JavaScript或CSS问题.使用上面的两个常量禁用这些功能,如果您需要追捕脚本问题,则是必要的.
调试通常依赖于日志文件,尤其是如果未显示错误.许多错误只会在特定情况下出现,所以我们并不总是遇到它们.这是测井中的派上.而不是显示错误消息,我们可以将它们记录到文件并再次查看它们.这可以通过定义WP_DEBUG_LOG:
来完成
加载GIST D3EEE86104B3C58D0DD0.
当启用时,遇到的错误将被记录到 wp-content
文件夹中名为 error.log
的文件.
对于我们中的Hardcore优化器, SAVEQUERIES
常量是一个寿命保护者.通过定义此常量,我们可以访问WordPress:
执行的SQL查询的详细配置文件
加载GIST D3EEE86104B3C58D0DD0.
一旦定义,我们可以打印 $wpdb->queries
的内容以获取所有查询的概述.
加载GIST D3EEE86104B3C58D0DD0.
如果您感觉特别花哨,或者您可以随时查看这些查询,您可以将其挂钩到 wp_footer
中以确保它们始终显示在每个页面的末尾.
8.增加内存限制
在一些罕见的情况下,您可能需要手动将更多内存分为WordPress.虽然我在运行WordPress时遇到PHP在内存中运行的情况时,这些都是由浪费的主题或插件引起的.
如果您需要使用 WP_MEMORY_LIMIT
常量和 WP_MAX_MEMORY_LIMIT
常量设置内存限制,该常量控制管理员可用的内存量.
加载GIST D3EEE86104B3C58D0DD0.
9.Cron设置
cron是unix的环境中基于时间的作业调度程序.WordPress有一个Cron功能,这不是一个真正的cron,而是密切复制它的功能.WordPress Cronjobs以规则的间隔运行并执行各种任务.例如,CRON系统负责在正确的时间发布帖子.
系统的缺点是它依赖于站点访问者执行CronJobs,因此任务可能无法在确切给定的时间内运行.如果您在服务器上设置了一个真正的Cron,每天晚上凌晨1点运行它将通过极端精度来实现.
WordPress Crons由加载网站的访问者触发.这意味着如果您使用WP Cron启动凌晨1点的动作,它将在第一次在此之后加载网站时运行.如果您在上午11点之前没有任何访客,那么任务将完成.
在大多数情况下,这不是问题.如果您已在凌晨1点发布的帖子,并且在上午11点之前,帖子将在用户在用户加载之前发布的帖子,对于所有意图和目的,帖子都按时发布.
在某些情况下,Cron系统可能会赋予合适并拒绝正常工作.我从来没有个人遇到过这个,但如果你看到这种情况发生,你可以尝试使用替代的Cron方法:
加载GIST D3EEE86104B3C58D0DD0.
配置文件还允许您完全禁用CRON并限制同一CronJob之间的重复间隔.
加载GIST D3EEE86104B3C58D0DD0.
10.禁用表更新
当更新WordPress时,它可能会运行dbDelta()
函数,其目的是修改数据库以符合最新规范.这通常不会对具有巨大表(特别是用户名表)的网站来构成威胁,这可能需要一段时间才能完成.
许多大站点更喜欢照顾这些操作本身,或者在几乎没有流量的时候安排它们.这可以通过禁用全局表的升级来完成:
加载GIST D3EEE86104B3C58D0DD0.
11.SSL在Admin
中 wp-config.php
文件中有两个选项,允许您使用SSL. FORCE_SSL_LOGIN
确保登录始终使用SSL,但管理员会自己没有.这增加了一些保护,同时确保SSL不会减慢管理过程.
您还可以使用 FORCE_SSL_ADMIN
,它将使用SSL进行登录和整个管理员会话,包括cookie:
加载GIST D3EEE86104B3C58D0DD0.
FORCE_SSL_ADMIN
supersedes FORCE_SSL_LOGIN,
因此,如果您使用的是更安全的选项,则无需定义 FORCE_SSL_LOGIN
.
取决于您的服务器设置,可能需要更多地通过SSL访问您的网站.我建议在Codex中阅读SSL指南的优秀管理.
12.禁用自动更新
我个人享受自动更新,因为它们使我的网站更安全并确保我总是运行最新版本的WordPress.始终是最新的是件好事,并且在不更新的是一个好主意的合法案件很少.修改WordPress核心文件,下载的主题或插件是永远不会其中一个.
如果您需要出于任何原因禁用更新,WordPress会为您提供两个常量. AUTOMATIC_UPDATER_DISABLED
可以一次禁用所有自动更新.更好的方法是使用 WP_AUTO_UPDATE_CORE
常数.
这可以设置为"true"以启用更新和"false"以禁用它们.此外,您可以将其设置为"次要"(这是默认值)默认抓取次要更新:
加载GIST D3EEE86104B3C58D0DD0.
结论
正如您所看到的,WordPress配置文件提供了足够的机会来调整您的网站并使其成为您自己的机会.从修改通过SSL登录目录位置,可以很多.