关于如何配置WordPress的深入讨论

自学咖网努力为各位打造免费分享知识与教程网站

WordPress安装最重要的文件之一是配置文件。它位于根目录中,包含常量定义和PHP指令,使WordPress按照您想要的方式工作。WP-config.php文件(如数据库连接详细信息、表前缀、路径)存储特定目录的数据和许多相关的特定设置文件。

基本wp-config.php文件

基本配置:编辑文件系统

开发者功能:调试模式和保存查询。

内容相关设置

允许的内存大小

自动更新

安全设置

其他高级设置

锁定wp-config.php。

基本wp-config.php文件

第一次安装WordPress时,会要求你输入所需的信息,比如数据库细节和表格前缀。有时候你的主机会为你设置WordPress,你不需要手动运行设置。然而,当您手动运行5分钟的安装时,您将被要求输入存储在wp-config中的一些最相关的数据。

自学咖网努力为各位打造免费分享知识与教程网站

运行安装程序时,您需要输入存储在wp-config.php文件中的数据。

这是一份基本的wp-config.php文件:

// ** 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’, ”);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’);$table_prefix = ‘wp_’;/* That’s all, stop editing! Happy blogging. */

通常,这个文件会在你运行安装程序时自动生成,但偶尔WordPress没有权限写入安装文件夹。在这种情况下,您应该创建一个空的wp-config.php文件,复制并粘贴来自wp-config-sample.php的内容,并将正确的值设置为所有定义的常量。完成后,将文件上传到根文件夹并运行WordPress。

注意:常量定义和PHP指令以特定的顺序出现,我们不应该改变它们。我们不应该在下面的注释行中添加任何内容:

/* That’s all, stop editing! Happy blogging. */

首先,它是您应该从主机接收的数据库常量的定义:

数据库名称

数据库用户

数据库密码

数据库主机

数据库字符集

数据库_校对

根据数据库的详细信息,八个安全密钥将使网站更加安全,免受黑客攻击。当你运行和安装WordPress的时候,安全和salt密匙会自动生成,但是你可以在任何时候修改它们并添加任何字符串。为了更好的安全性,请考虑使用在线生成器。

$table_prefix变量存储所有WordPress表的前缀。不幸的是,任何人都知道它的默认值,这可能会导致WordPress数据库中的一个漏洞,这个漏洞可以通过在运行设置时在$table_prefix中设置自定义值来轻松修复。要更改工作网站中的表前缀,应该对数据库运行多个查询,然后手动编辑wp-config.php文件。如果您无法访问数据库,或者您没有构建自定义查询所需的知识,那么您可以安装一个插件,如更改表前缀,以重命名数据库表和字段名,并更新配置文件风险。

注意:即使你将使用插件来改变表格前缀,备份WordPress文件和数据库也是一个好习惯。

到目前为止,分析仅限于基本配置。但是我们可以使用许多常量来定义启用功能、自定义和保护安装。

基本配置:编辑文件系统

WordPress文件系统为用户和黑客所熟知。出于这个原因,您可以考虑通过将特定文件夹移动到任何位置并在wp-config文件中设置相应的URL和路径来更改内置文件结构。首先,我们可以通过定义两个常量来移动内容文件夹。首先设置完整的目录路径:

define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/site/wp-content’ );

其次,设置新目录的URL:

define( ‘WP_CONTENT_URL’, ‘http://example.com/site/wp-content’ );

我们可以通过定义以下常量来移动插件文件夹:

define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . ‘/wp-content/mydir/plugins’ );define( ‘WP_PLUGIN_URL’, ‘http://example.com/wp-content/mydir/plugins’ );

类似地,我们可以通过设置新的目录路径来移动uploads文件夹:

define( ‘UPLOADS’, ‘wp-content/mydir/uploads’ );

注意:所有路径都是相对于ABSPATH的,它们不应该包含前导斜杠。

完成后,整理文件夹并重新加载WordPress。

自学咖网努力为各位打造免费分享知识与教程网站

该图显示了内置文件结构与自定义结构的比较。

从wp-config文件中移走/wp-content/themes文件夹是不可能的,但是我们可以在插件或者主题的函数文件中注册一个新的主题目录。

开发者功能:调试模式和保存查询。

如果你是一个开发者,你可以强制WordPress显示错误和警告来帮助你调试主题和插件。要启用调试模式,只需将WP_DEBUG值设置为true,如下所示:

define( ‘WP_DEBUG’, true );

默认情况下,WP_DEBUG设置为false。如果需要禁用调试模式,可以删除定义或将常量的值设置为false。当您在实时站点上工作时,应该禁用调试模式。并且不应向站点查看者显示错误警告,因为它会为黑客提供有价值的信息。但是如果无论如何都要调试呢?在这种情况下,你可以强制WordPress在/wp-content文件夹的debug.log文件中保存错误和警告的记忆。要启用此功能,请将以下代码复制并粘贴到wp-config.php文件中:

define( ‘WP_DEBUG’, true );define( ‘WP_DEBUG_LOG’, true );define( ‘WP_DEBUG_DISPLAY’, false );@ini_set( ‘display_errors’, 0 );

为了让这个函数工作,我们首先需要启用调试模式。然后,将WP_DEBUG_LOG设置为true会强制WordPress在debug.log文件中存储消息,而将WP_DEBUG_DISPLAY定义为false则不会直接在屏幕上输出这些消息。最后,我们将PHP变量的值设置为0,display_errors,这样错误消息就不会显示在屏幕上。Wp-config永远不会从缓存中加载。因此,这是覆盖php.ini设置的好地方。

注意:这是一个很棒的功能,你可以用它来注册WordPress不会打印在屏幕上的消息。例如,当publish_post触发一个操作时,WordPress加载一个保存数据的脚本,然后将用户重定向到文章编辑页面。在这种情况下,您可以注册消息,但不能在屏幕上打印它们。

另一个调试常量决定要加载的脚本版本和样式。SCRIPT_DEBUG如果要加载未压缩的版本,请将其设置为true:

define( ‘SCRIPT_DEBUG’, true );

如果你的主题或者插件显示了从数据库中获取的数据,你可能需要存储查询细节以备后用。SAVEQUERIES常量强制WordPress将查询信息存储在$wpdb->queries数组中。这些详细信息将被打印出来,以下代码将被添加到页脚模板中:

if ( current_user_can( ‘administrator’ ) ) { global $wpdb; echo ”; print_r( $wpdb->queries ); echo ”;}

关于这个特性的更深入的分析,请看如何在WordPress中构建高效的查询。

内容相关设置

当你的网站成长起来后,你可能想减少文章修改的次数。默认情况下,WordPress每60秒自动保存一次修订。我们可以通过在wp-config中设置一个自定义间隔来更改这个值,如下所示:

define( ‘AUTOSAVE_INTERVAL’, 160 );

当然,你也可以减少自动保存的时间间隔。每次我们保存编辑内容时,WordPress都会在文章表中添加一行,这样我们就可以恢复文章和页面的先前版本。这是一个有用的功能,当我们的网站变大时,它可能会成为一个问题。幸运的是,我们可以减少要存储的已发布修订的最大数量,或者完全禁用该功能。如果要禁用更高版本,请定义以下常量:

define( ‘WP_POST_REVISIONS’, false );

如果要限制修订的最大数量,请添加以下行:

define( ‘WP_POST_REVISIONS’, 10 );

默认情况下,WordPress会将删除的文章、页面、附件和评论保存30天,然后永久删除。我们可以使用以下常量来更改该值:

define( ‘EMPTY_TRASH_DAYS’, 10 );

我们甚至可以禁用垃圾桶,并将其值设置为0,但考虑到WordPress将不再允许您恢复内容。

允许的内存大小

有时,您可能会收到以下消息:

致命错误:xxx字节的允许内存大小已经用完…

最大内存大小取决于服务器配置。如果你不能访问php.ini文件,你可以通过在wp-config文件中设置WP_MEMORY_LIMIT常量来增加WordPress的内存限制。默认情况下,WordPress试图为单个站点的PHP分配40Mb,为多站点安装分配64MB。当然,如果PHP分配的内存大于40Mb(或者64Mb),WordPress会取最大值。也就是说,您可以使用以下代码行设置自定义值:

define( ‘WP_MEMORY_LIMIT’, ‘128M’ );

如有必要,您还可以使用以下语句设置最大内存限制:

define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );

建议:如何提高WordPress中PHP的内存限制?

自动更新

从3.7版本开始,WordPress支持安全版本的自动更新。这是一个重要的功能,允许网站管理员始终保持他们的网站安全。您可以通过定义以下常量来禁用所有自动更新:

define( ‘AUTOMATIC_UPDATER_DISABLED’, true );

也许禁用安全更新不是一个好主意,但这是你的选择。默认情况下,自动更新不适用于主要版本,但您可以启用定义WP_AUTO_UPDATE_CORE的任何核心更新,如下所示:

# Disables all core updates:define( ‘WP_AUTO_UPDATE_CORE’, false );# Enables all core updates, including minor and major:define( ‘WP_AUTO_UPDATE_CORE’, true );

默认值是minor:

define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );

附加常数会禁用自动更新(以及对任何文件的任何更新或更改)。如果DISALLOW_FILE_MODS设置为true,所有文件编辑,甚至主题和插件安装和更新都将被禁用。所以不建议。

安全设置

我们可以使用wp-config文件来增加网站的安全性。除了上面看到的文件结构变化,我们还可以锁定一些可能打开不必要漏洞的函数。首先,我们可以禁用管理面板中提供的文件编辑器。以下常量将隐藏外观编辑器屏幕:

define( ‘DISALLOW_FILE_EDIT’, true );

注意:考虑到如果这个常量被定义为true,一些插件将不能正常工作。

自学咖网努力为各位打造免费分享知识与教程网站

不允许文件编辑

安全特性是通过SSL管理的。如果你已经购买了一个SSL证书并正确配置,你可以强制WordPress在任何登录和管理会话中通过SSL传输数据。使用以下常量:

define( ‘FORCE_SSL_ADMIN’, true );

如果你需要更多关于SSL管理的信息,请查阅Codex。

其他两个常量允许阻止外部请求并列出允许的主机。

define( ‘WP_HTTP_BLOCK_EXTERNAL’, true );define( ‘WP_ACCESSIBLE_HOSTS’, ‘example.com,*.anotherexample.com’ );

在本例中,我们首先禁用了来自外部主机的所有访问,然后列出了允许的主机,用逗号分隔(允许使用通配符)。

其他高级设置

将WP_CACHE设置为true包括wp-content/advanced-cache.php脚本。该常量仅在安装永久缓存插件时有效。

除了默认的wp_users和wp_usermeta表之外,CUSTOM_USER_TABLE和CUSTOM_USER_META_TABLE用于设置自定义用户表。这些常量启用了一个有用的功能,允许站点用户只使用一个帐户访问多个网站。为了使该功能正常工作,所有安装都应该共享同一个数据库。

从2.9版本开始,WordPress支持自动数据库优化。因为这个特性,设置WP_ALLOW_REPAIR为true,WordPress会自动修复损坏的数据库。

每次你编辑一张图片,WordPress都会创建一组新的图片。如果您想要恢复原始图像,所有生成的集将保留在服务器上。您可以通过将IMAGE_EDIT_OVERWRITE设置为true来覆盖此行为,这样当您恢复原始图像时,所有编辑都将从服务器中删除。

锁定wp-config.php。

现在我们知道为什么wp-config.php是最重要的WordPress文件之一了。那么,我们为什么不把它藏起来不让黑客发现呢?首先,我们可以将wp-config移动到WordPress根文件夹之上的一层(只有一层)。不过这个技术有点争议,所以我建议用其他方案来保护文件。如果您的网站运行在web服务器Apache上,您可以将以下指令添加到。htaccess文件:

order allow,denydeny from all

如果网站运行在Nginx上,您可以在配置文件中添加以下指令:

location ~* wp-config.php { deny all; }

注意:这些说明只能在安装完成后添加。

如果你的网站经历了多次迁移,或者你是从别人那里购买的,建议你创建一套新的WordPress安全密钥。这些密钥是一组随机变量,可以提高存储在用户cookie中的信息的加密。从WordPress 2.7开始,有4个不同的密钥:AUTH_KEY、SECURE_AUTH_KEY、LOGGED_IN_KEY和NONCE_KEY。

默认情况下,它们是为您随机生成的。但是WordPress实际上有一个免费的工具,你可以用它来生成新的随机密钥。然后,您可以简单地更新存储在wp-config.php文件中的当前密钥。

自学咖网努力为各位打造免费分享知识与教程网站

WordPress安全密钥

阅读更多关于WordPress安全密钥的信息。

最后,您应该仔细检查并确保您的wp-config.php文件的权限得到了加强。通常WordPress站点根目录下的文件会被设置为644,这意味着文件所有者可以读写文件,文件所有者组中的用户可以读取文件,其他所有人都可以读取这些文件。根据WordPress文档,wp-config.php文件的权限应该设置为440或400,以防止服务器上的其他用户读取它。您可以使用FTP客户端轻松更改此设置。

自学咖网努力为各位打造免费分享知识与教程网站

Wp-config.php当局

总结

在这篇文章中,我列出了许多我们可以定义到wp-config文件中的WordPress常量。这些常数中有一些是常用的,它们的作用也很容易理解。启用其他常量需要深入理解WordPress和站点管理的高级功能。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 关于如何配置WordPress的深入讨论