wp-config.php

WordPress安装中最重要的文件之一是wp-config.php文件。此文件位于WordPress文件目录的根目录中,包含网站的基本配置详细信息,例如数据库连接信息。

配置数据库设置

重要提示: 从未使用像Microsoft word这样的文字处理器编辑WordPress文件!

找到文件wp-config-sample.php在WordPress目录的基本目录中,并在文本编辑器.

默认wp-config-sample.php

注意:这是默认值的示例wp-config-sample.php。这里的值是向您展示该做什么的示例。

//**MySQL设置-您可以从您的web主机获取此信息**///**WordPress数据库的名称*/define('DB_NAME','database_NAME_here');/**MySQL数据库用户名*/定义('DB_USER','username_here');/**MySQL数据库密码*/define('DB_PASSWORD','PASSWORD_here');/**MySQL主机名*/define('DB_HOST','localhost');

注:里面的文字/**/是评论,仅供参考。

设置数据库名称

将“database_name_here”替换为数据库的名称,例如。我的数据库名称.

define('DB_NAME','MyDatabaseName');//MySQL数据库名称示例

设置数据库用户

将“username_here”替换为您的用户名,例如。我的用户名.

定义('DB_USER','MyUserName');//MySQL用户名示例

设置数据库密码

将“password_here”替换为您的密码,例如。我的密码.

define('DB_PASSWORD','MyPassWord');//MySQL密码示例

设置数据库主机

如果需要,更换本地服务器',带有数据库主机的名称(例如。我的数据库主机). 可能还需要端口号或Unix套接字文件路径。

define('DB_HOST','MyDatabaseHost');//MySQL数据库主机示例

注:你很有可能会不是如果您不确定,请尝试使用默认值“localhost”进行安装,看看它是否有效。如果安装失败,请联系您的网络托管提供商。

MySQL备用端口

如果主机为数据库使用备用端口号,则需要更改数据库_主机中的值wp-config.php文件以反映主机提供的备用端口。

对于本地主机:

定义(“DB_HOST”,“127.0.0.1:3307”);define('DB_HOST','localhost:3307');

对于指定的服务器:

define('DB_HOST','mysql.example.com:3307');

替换号码3307在上述任一代码示例中,使用主机提供的端口号信息。

MySQL套接字或管道

如果主机使用Unix套接字或管道,则需要更改数据库_主机中的值wp-config.php文件以反映主机提供的套接字或管道信息。

define('DB_HOST','127.0.0.1:/var/run/mysqld/mysqld.sock');//或定义(“DB_HOST”,“localhost:/var/run/mysqld/mysqld.sock”);//或定义(“DB_HOST”,“example.tld:/var/run/mysqld/mysqld.sock”);

替换文本字符串/var/run/mysqld/mysqlde.sock使用主机提供的套接字或管道信息。

数据库字符集

数据库_字符集可用于指定数据库字符集(例如,tis620 Thai的tis620)在定义MySQL数据库表时使用。

的默认值utf8接口(Unicode码 UTF-8型)几乎总是最好的选择。UTF-8支持任何语言,因此您通常希望将DB_CHARSET保留为utf8接口并使用数据库_ COLLATE而是为您的语言提供价值。

这个例子显示了utf8,它被认为是WordPress的默认值:

定义('DB_CHARSET','utf8');

通常应该没有理由更改DB_CHARSET的默认值。如果你的博客需要不同的字符集,请阅读MySQL支持的字符集和排序以获取有效的DB_CHARSET值。警告:执行升级的人员。

如果您的wp-config.php文件,请勿将任一定义添加到您的wp-config.php除非你阅读并理解转换数据库字符集。将DB_CHARSET和DB_COLLATE添加到wp-config.php现有博客的文件可能会导致重大问题。

数据库排序规则

数据库_ COLLATE可用于指定数据库整理(即字符集的排序顺序)。在大多数情况下,该值应留空(null),以便MySQL根据DB_CHARSET指定的数据库字符集自动分配数据库排序规则。您可能需要将“DB_COLLATE”设置为中定义的UTF-8值之一的示例UTF-8字符集对于大多数西欧语言来说,当您输入的字符与显示的字符不同时,就会出现不同的语言。(另请参见Unicode字符集在SQL手册中)

WordPress的默认DB_COLLATE值:

定义('DB_COLLATE','');

UTF-8 Unicode常规排序规则

define('DB_COLLATE','utf8_general_ci');

UTF-8 Unicode土耳其语排序规则

define('DB_COLLATE','utf8_turkish_ci');

通常应该没有理由更改DB_COLLATE的默认值。将值保留为空(null)将确保在创建数据库表时MySQL自动分配排序规则。警告:执行升级的人员

如果DB_COLLATE和DB_CHARSET不存在于wp-config.php文件,请勿将任一定义添加到您的wp-config.php除非你阅读并理解转换数据库字符集。您可能需要WordPress升级。

安全密钥

你不必记住钥匙,只需让它们长、随机、复杂——或者更好的是,使用在线发生器。您可以随时更改这些设置,以使所有现有cookie无效。这确实意味着所有用户都必须再次登录。

示例(不要使用这些!):

定义('AUTH_KEY','t`DK%X:>xy|e-Z(BXb/f(Ur`8#~UzUQG-^_Cs_GHs5U-&Wb?pgn^p8(2@}Icna|');定义('SECURE_AUTH_KEY','D&ovlU#|CvJ##uNq}bel+^MFtT&.b9{UvR]g%ixsXhGlRJ7q!h}XWdEC[BOKXssj');define('LOGGED_IN_KEY','MGKi8Br(&{H*~&0s;{k0<S(O:+f#WM+q|npJ-+P;RDKT:~jrmgj#/-,[hOBk!ry^');定义('NONCE_KEY','FIsAsXJKL5ZlQo)iD-pt??eUbdc{Cn<4!d~yqz))&B d?AwK%)+)F2aNwI|siOe');定义('AUTH_SALT','7T-!^i!0,w)L#JK@个人2{8XE[DenYI^BVf{L:jvF,hf}zBf883td6D;Vcy8,S)-&G');定义('SECURE_AUTH_SALT','I6`V|mDZq21-J|ihb u^q0F}F_NUcy`l,=obGtq*p#Ybe4a31R,r=|n#=]@]c#');定义('LOGGED_IN_SALT','w<$4c$Hmd%/*]`Oom>(hdXW|0M=X={we6;Mpvtg+V.o<$|#_}qG(GaVDEsn,~*4i');define('NONCE_SALT','a|#h{c5|P&xWs4IZ20c2&%4!c(/uG}W:mAvy<I44`jAbup]t=]V<`}.py(wTP%%');

A类密钥通过向密码中添加随机元素,使您的网站更难成功攻击。

简单地说,密钥是一个密码,其中包含一些元素,使得生成足够的选项来突破安全屏障变得更加困难。像“密码”或“测试”这样的密码很简单,很容易破解。一个不使用字典单词的随机长密码,例如“88a7da62429ba6ad3cb3c76a09641fc”,将需要暴力攻击者数百万小时才能破解。A’用于进一步增强生成结果的安全性。

增强安全性需要四把钥匙。这四种盐是推荐的,但不是必需的,因为如果没有提供,WordPress会为您生成盐。它们包括在wp-config.php默认为包容性。

有关密钥和安全密码的技术背景和细分的更多信息,请参阅:

高级选项

以下部分可能包含高级信息,某些更改可能会导致不可预见的问题。请务必练习常规备份并且知道如何在修改这些设置之前恢复它们。

表格_前缀

这个$表格_前缀是放置在数据库表前面的值。如果要使用除水处理_用于数据库前缀。通常,如果您安装多个WordPress博客在同一数据库中,与多站点功能一样。

如果您为每个数据库指定一个唯一的前缀,则可能在一个数据库中有多个安装。如果您选择这样做,请记住安全性。

$table_prefix=“r235_”;//请只使用数字、字母和下划线!

WP_项目URL

WP_SITEURL允许定义WordPress地址(URL)。定义的值是WordPress核心文件所在的地址。它应该包括网址://也是一部分。不要使用斜线“/“最后。在中设置此值wp-config.php覆盖wp_options表的值网站URL。在中添加此选项可以减少加载站点时的数据库调用次数。注:这将更改数据库存储的值。如果从wp-配置.使用重新定位常数更改网站URL值。

如果WordPress安装到名为“WordPress”的目录中领域example.com,定义WP_SITEURL如下:

定义('WP_SITEURL','http://example.com/wordpress' );

基于$_SERVER['HTTP_HOST']动态设置WP_SITEURL

define('WP_SITEURL','http://'.$_SERVER['http_HOST'].'/path/to/wordpress');

注:HTTP_HOST由PHP根据请求中HTTP HOST Header的值动态创建,因此可能允许文件包含漏洞.SERVER_NAME也可以动态创建。但是,当Apache配置为UseCanonicalName“on”时,SERVER_NAME是由服务器配置设置的,而不是动态设置的。在这种情况下,用户SERVER_NAME比HTTP_HOST更安全。

基于$_SERVER['SERVER_NAME']动态设置WP_SITEURL

define('WP_SITEURL','http://'.$_SERVER['SERVER_NAME'].'/path/to/wordpress');

博客地址(URL)

类似于WP_SITEURL、WP_HOME覆盖wp_options表的值但不会在数据库中更改它。 是您希望人们在浏览器中键入的地址,以访问您的WordPress博客。它应该包括网址://部分,不应有斜线“/“最后。在中添加此选项可以减少加载站点时的数据库调用次数。

定义('WP_HOME','http://example.com/wordpress' );

如果您正在使用中描述的技术给WordPress自己的目录然后按照下面的例子。记住,您还将索引.php如果您使用这样的设置,请在web-root目录中。

定义('WP_HOME','http://example.com' );

基于$_SERVER['HTTP_HOST']动态设置WP_HOME

define('WP_HOME','http://'.$_SERVER['http_HOST'].'/path/to/wordpress');

正在移动wp-content文件夹

您可以移动wp含量目录,它保存您的主题、插件和上传,位于WordPress应用程序目录之外。

将WP_CONTENT_DIR设置为完整本地路径(没有尾部斜杠),例如。

define('WP_CONTENT_DIR',目录名(__FILE__)。'/博客/wp-content');

将WP_CONTENT_URL设置为完整统一资源定位地址(没有尾部斜杠),例如。

定义('WP_CONTENT_URL','http://example/blog/wp-content' );

移动插件文件夹

将WP_PLUGIN_DIR设置为完整本地路径(没有尾部斜杠),例如。

define('WP_PLUGIN_DIR',目录名(__FILE__)。'/博客/wp-content/plugins');

将WP_PLUGIN_URL设置为完整乌里(没有尾部斜杠),例如。

定义('WP_PLUGIN_URL','http://example/blog/wp-content/plugins' );

如果您对插件有兼容性问题,请将PLUGINDIR设置为完整本地路径(没有尾部斜杠),例如。

define('PLUGINDIR',目录名(__FILE__)。'/博客/wp-content/plugins');

正在移动主题文件夹

无法移动主题文件夹,因为其路径是相对于wp含量文件夹:

$theme_root=WP_CONTENT_DIR。”/主题;

但是,您可以使用以下命令注册其他主题目录注册表主题目录.

了解如何移动wp内容文件夹。有关如何确定主题文件夹的更多详细信息,请参阅wp-includes/theme.php.

移动上传文件夹

将UPLOADS设置为:

define('UPLOADS','blog/wp-content/UPLOADS');

此路径不能是绝对路径。它总是相对于ABSPATH,因此不需要前导斜杠。

修改自动保存间隔

编辑文章时,WordPress使用Ajax在编辑时自动保存对文章的修订。您可能希望增加此设置以延长自动保存之间的延迟,或者减少此设置以确保您永远不会丢失更改。默认值为60秒。

定义('AUTOSAVE_INTERVAL',160);//

历史版本

默认情况下,WordPress会将每次编辑的副本保存到一篇文章或一个页面上,这样就可以恢复到该文章或页面的先前版本。可以禁用保存修订,也可以指定每篇文章或每页的最大修订数。

禁用修订后

如果你这么做设置此值,WordPress默认将WP_POST_REVISIONS设置为真的(启用后期修订)。如果要禁用可怕的修订功能,请使用此设置:

定义('WP_POST_REVISIONS',false);

注意:在将命令移动到中初始块注释下的第一行之前,一些用户无法执行此操作wp-config.php.

指定修订后的数量

如果要指定WordPress存储的最大修订数,请更改转换为整数/数字(例如、3或12)。

定义(“WP_POST_REVISIONS”,3);

注意:在将命令移动到中初始块注释下的第一行之前,一些用户无法执行此操作wp-config.php.

WordPress的cookie中设置的域可以指定给那些具有异常域设置的域。例如,如果子域用于提供静态内容,则可以将cookie域设置为仅非静态域,以防止每次请求子域上的静态内容时都发送WordPress cookie。

定义(“COOKIE_DOMAIN”,“www.example.com”);

启用多站点/网络功能

WP_ALLOW_MULTISITE是一种支持多站点功能的功能。如果中没有此设置wp-config.php默认为false。

定义(“WP_ALLOW_MULTISITE”,true);

重定向不存在的博客

如果访问者试图访问不存在的子域或子文件夹,可以使用NOBLOGREDIRECT重定向浏览器。

define('NOBLOGREDDIRECT','定义('NOBLOGREDDIRECT','http://example.com' );

致命错误处理程序

引入WordPress 5.2恢复模式当插件导致致命错误时,它显示错误消息而不是白屏。

该网站正面临技术难题。请查看您的站点管理员电子邮件收件箱以获取说明。

不再向用户显示白屏和PHP错误消息。但在开发环境中,如果要启用WP_DEBUG_DISPLAY,则必须通过将true设置为WP_disable_FATAL_ERROR_HANDLER来禁用恢复模式。

define('WP_DISABLE_FATAL_ERROR_HANDLER',true);//5.2及以后定义(“WP_DEBUG”,true);define('WP_DEBUG_DISPLAY',true);

WP_缺陷

这个WP_缺陷选项控制一些错误和警告的报告,并允许使用WP_DEBUG_DISPLAY和WP_DEBUG_LOG设置。默认布尔值为false。

define('WP_DISABLE_FATAL_ERROR_HANDLER',true);//5.2及更高版本定义('WP_DEBUG',true);

仅当WP_DEBUG设置为true时,才会打印数据库错误。数据库错误由水处理数据库类和不受影响PHP的错误设置.

将WP_DEBUG设置为true也会引发错误报告级别设置为E_ALL,并在使用弃用的函数或文件时激活警告;否则,WordPress将错误报告级别设置为E_ALL^E_NOTICE^E_USER_NOTICE。

WP_环境_类型

WP_ENVIRONMENT_TYPE选项控制站点的环境类型:地方的,发展,分段、和生产.

环境类型的值按以下顺序处理,每个顺序方法都会覆盖以前的任何值:WP_environment_TYPEPHP环境变量和WP_ENVIRONMENT_TYPE常量。

对于这两种方法,如果提供的环境类型的值不在允许的环境类型列表中,则默认值为生产将返回值。

设置该值的最简单方法可能是通过定义常量:

定义(“WP_ENVIRONMENT_TYPE”,“暂存”);

注:何时发展由返回wp_get_environment_type(),WP_DEBUG将设置为真的如果在wp-config.php站点的文件。

脚本_取消

脚本_取消是一个相关的常量,它将强制WordPress在wp-includes/js,wp包括/css,wp管理员/js、和wp管理/css将加载,而不是最小.css最小.js版本。。如果你计划修改WordPress的一些内置JavaScript或级联样式表,你应该在配置文件中添加以下代码:

定义('SCRIPT_DEBUG',true);

禁用Javascript连接

为了实现更快的管理屏幕,所有JavaScript文件都是串联的到一个URL中。如果JavaScript在管理屏幕中无法工作,您可以尝试禁用此功能:

define('CONCATENATE_SCRIPTS',false);

配置错误日志

配置错误日志可能有点棘手。首先,默认的PHP错误日志和显示设置设置在PHP.ini文件中,您可能有权也可能没有权访问该文件。如果您有权访问,则应将它们设置为向公众提供的实时PHP页面所需的设置。强烈建议不要向公众显示错误消息,而是路由到错误日志。此外,错误日志不应位于服务器的公共访问部分。建议的php.ini错误设置示例:

error_reporting=4339display_errors=关闭display_startup_errors=关闭log_errors=开error_log=/home/example.com/logs/php_error.loglog_errors_max_len=1024ignore_repeated_errors=打开ignore_repeated_source=关闭html_errors=关闭

关于错误报告4339这是一个自定义值,仅记录影响站点功能的问题,并忽略诸如通知之类的可能甚至不是错误的内容。请参见PHP错误常量对于1000011110011的每个二进制位置的含义,它是等于4339的二进制数。最左边的1表示报告任何E_RECOVERABLE_ERROR。接下来的0表示不报告E_STRICT(当使用草率但功能性的编码时会抛出),依此类推。请随意确定您自己的自定义错误报告编号来代替4339。

显然,您需要为开发环境设置不同的设置。如果您的暂存副本在同一台服务器上,或者您没有访问php.ini公司,则需要在运行时覆盖默认设置。无论您是希望错误转到日志文件,还是希望任何错误都能立即通知您,这都取决于您的个人偏好。下面是一个示例,它会立即报告所有可以插入到wp-config.php文件:

@ini_set('log_errors','Off');@ini_set('display_errors','On');define('WP_DISABLE_FATAL_ERROR_HANDLER',true);//5.2及更高版本定义('WP_DEBUG',true);define('WP_DEBUG_LOG',false);define('WP_DEBUG_DISPLAY',true);

因为wp-config.php为每个未从缓存文件加载的页面视图加载,这是一个很好的设置位置php.ini公司控制PHP安装的设置。如果您没有访问php.ini公司文件,或者如果您只是想动态更改一些设置。一个例外是“error_reporting”。当WP_DEBUG定义为true时,无论您尝试在WP-config.php中设置什么,WordPress都会将“error_reporting”设置为E_ALL。如果确实需要将“error_reporting”设置为其他值,则必须在wp-设置.php加载,例如在插件文件中。

如果您打开了错误日志记录,请记住稍后删除该文件,因为它通常位于可公开访问的位置,任何人都可以访问您的日志。

下面是一个打开PHP error_logging并将其记录到特定文件的示例。如果WP_DEBUG定义为true,则错误也将保存到此文件中。把这个放在任何上面需要一次包括命令。

@ini_set('log_errors','On');@ini_set('显示错误','关闭');@ini_set('error_log','/home/example.com/logs/php_error.log');/*就这些,停止编辑!快乐博客*/

另一个日志错误示例,如Mike Little在wp-hackers电子邮件列表:

/***这将把所有错误通知和警告记录到中名为debug.log的文件中*wp内容(如果Apache没有写入权限,则可能需要创建*首先创建文件并设置适当的权限(即使用666)*/定义('WP_DEBUG',true);定义('WP_DEBUG_LOG',true);define('WP_DEBUG_DISPLAY',false);@ini_set('显示错误',0);

Mike Little关于曼彻斯特WordPress用户组:

/***这将把所有错误通知和警告记录到中名为debug.log的文件中*wp-content仅当wp_DEBUG为true时。如果Apache没有写权限,*您可能需要先创建文件并设置适当的权限(即使用666)。*/define('WP_DEBUG',true);//或错误如果(WP_DEBUG){定义('WP_DEBUG_LOG',true);define('WP_DEBUG_DISPLAY',false);@ini_set('显示错误',0);}

令人困惑的是WordPress有三(3)个常量,看起来它们可以做同样的事情。首先,请记住,如果WP_DEBUG为false,则它和其他两个WordPress DEBUG常量不起任何作用。无论PHP指令是什么,都将以PHP指令为准。除了“error_reporting”之外,如果WP_DEBUG被定义为false,WordPress会将其设置为4983。其次,即使WP_DEBUG为true,其他常量也只在设置为true时才会执行某些操作。如果设置为false,PHP指令将保持不变。例如,如果您的php.ini公司文件具有指令('display_errors'='On');但您有语句定义('WP_DEBUG_DISPLAY',false);在您的wp-config.php文件时,错误仍会显示在屏幕上,即使您试图通过将WP_DEBUG_DISPLAY设置为false来防止错误发生,因为这是PHP配置的行为。这就是为什么在任何相关的WP常量设置为false时,将PHP指令设置为所需的值非常重要。为了安全起见,显式设置/定义这两种类型。有关WP常数的更多详细说明,请访问在WordPress中调试.

对于公共的生产WordPress安装,您可以考虑在您的wp-config.php文件,即使它可能部分冗余:

@ini_set('log_errors','On');@ini_set('显示错误','关闭');define('WP_DISABLE_FATAL_ERROR_HANDLER',false);//5.2及更高版本define('WP_DEBUG',false);define('WP_DEBUG_LOG',false);define('WP_DEBUG_DISPLAY',false);

默认调试日志文件为/wp-content/debug.log。将错误日志放在可公开访问的位置存在安全风险。理想情况下,日志文件应该放在站点的公共根目录之上。如果您不能这样做,至少可以将日志文件权限设置为600,并将此条目添加到.hta访问WordPress安装根目录中的文件:

<文件debug.log>订单允许,拒绝拒绝所有人</文件>

这可以防止任何人通过HTTP访问文件。您始终可以通过FTP从服务器检索日志文件来查看日志文件。

增加分配给PHP的内存

WP_MEMORY_LIMIT公司选项允许您指定PHP可以使用的最大内存量。如果您收到诸如“Allowed memory size of xxxxxx bytes exhausted”(允许的xxxxxx字节内存大小已用完)之类的消息,则可能需要进行此设置。

此设置仅增加WordPress的PHP内存,而不增加其他应用程序的内存。默认情况下,WordPress会尝试将分配给PHP的内存增加到40MB(代码位于/wp-includes/default-constants.php)用于单站点,64MB用于多站点,因此中的设置wp-config.php应反映大于40MB或64MB的内容,具体取决于您的设置。

WordPress将在使用此函数之前自动检查是否为PHP分配了小于输入值的内存。例如,如果PHP已分配64MB,则无需将此值设置为64M,因为WordPress将根据需要自动使用所有64MB。

注意:一些主机不允许自动增加PHP内存限制。在这种情况下,请联系您的主机以增加PHP内存限制。此外,许多主机将PHP限制设置为8MB。

调整WordPress内存限制也可能会产生问题。您可能最终会隐藏问题的根源,以便在以后添加更多插件或功能时发生。

如果您面临内存不足问题,即使内存限制有所提高,也应该正确调试安装。可能您有太多与特定操作相关的内存密集型函数,应该将这些函数移动到cronjob。

将PHP内存增加到64MB

定义(“WP_MEMORY_LIMIT”,“64M”);

将PHP内存增加到96MB

定义(“WP_MEMORY_LIMIT”,“96M”);

管理任务需要的内存可能比正常操作需要的内存多。在管理区域中,可以通过定义WP_MAX_memory_LIMIT来增加或减少WP_memory _LIMIT中的内存。默认值为256MB。

定义(“WP_MAX_MEMORY_LIMIT”,“512M”);

注意:这必须放在wp-settings.php包含之前。

隐藏物

这个工作包_计算机辅助工程如果设置为true,则包括wp内容/高级缓存.php脚本,执行时wp-设置.php.

定义('WP_CACHE',true);

自定义用户和用户元表

自定义_用户_表格CUSTOM_USER_META_TABLE(自定义_用户_元数据_表格)用于指定不使用WordPress通常使用的用户和用户元表,而使用这些值/表存储用户信息。

define('CUSTOM_USER_TABLE',$TABLE_prefix.'my_users');define('CUSTOM_USER_META_TABLE',$TABLE_prefix.'my_usermeta');

注意:即使手动设置了“CUSTOM_USER_META_TABLE”,仍会为每个数据库创建一个用户元表,并为每个实例创建相应的权限。默认情况下,WordPress安装程序将为第一个用户(ID#1)添加权限。您还需要通过插件或自定义功能管理每个站点的权限。如果没有设置,您将遇到权限错误和登录问题。

CUSTOM_USER_TABLE是在初始设置期间最容易采用的WordPress的第一个实例。的定义语句wp-config.php在第一个实例中指向wp_用户默认情况下将存储数据。第一次站点设置后,复制工作wp-config.php到下一个实例只需要更改$表格_前缀变量。不要使用原始安装已在使用的电子邮件地址。完成设置过程后,使用自动生成的管理员帐户和密码登录。接下来,将您的普通帐户升级为管理员级别并注销管理员。以您自己的身份重新登录,删除管理员帐户并根据需要升级其他用户帐户。

语言和语言目录

WordPress(文字出版社)版本4.0允许您更改WordPress中的语言管理屏幕。在管理员设置屏幕中更改语言。设置>概述并选择“站点语言”。

WordPress v3.9.6及以下版本

WPLANG公司定义语言翻译(.mo)文件的名称。WP_角度_红外定义WPLANG.mo文件所在的目录。如果未定义WP_LANG_DIR,WordPress首先查找WP-content/languages,然后wp-includes/语言用于WPLANG文件定义的.mo。

定义(“WPLANG”,“de_de”);define('WP_LANG_DIR',目录名(__FILE__)。'wordpress/语言”);

要查找WPLANG语言代码,请请参阅此处。WP Local列中的代码就是您所需要的。

保存查询以进行分析

这个SAVEQUERIES公司definition将数据库查询保存到一个数组中,可以显示该数组来帮助分析这些查询。这些信息保存了每个查询、调用它的函数以及执行该查询所用的时间。注:这将对站点的性能产生影响,因此请确保在不调试时关闭此选项。

首先,将此添加到wp-config.php文件:

define(“SAVEQUERIES”,true);

然后在主题的页脚中写下:

if(current_user_can(“管理员”)){全局$wpdb;echo“<pre>”;print_r($wpdb->查询);echo“</pre>”;}?>

或者,考虑使用查询监视器

覆盖默认文件权限

这个FS_CHMOD_DIRFS_CHMOD_文件define语句允许覆盖默认文件权限。这两个变量是为了解决核心更新功能在主机运行时失败的问题而开发的苏埃克。如果主机对所有用户文件使用限制性文件权限(例如400),并且拒绝访问设置了组或全局权限的文件,则这些定义可以解决问题。

定义(“FS_CHMOD_DIR”,(0755&~umask()));定义(“FS_CHMOD_FILE”,(0644&~umask()));

提供setgid的示例:

定义(“FS_CHMOD_DIR”,(02755&~umask()));

注意:'0755′和'02755'是八进制值。八进制值必须以0为前缀,并且不能用单引号(')括起来。另请参阅:更改文件权限

WordPress升级常量

注意:根据需要定义尽可能少的以下常量以更正更新问题。

需要定义这些的最常见原因是:

主机使用包含符号链接的特殊安装设置运行。您可能需要定义路径相关常量(FTP_BASE、FTP_CONTENT_DIR和FTP_PLUGIN_DIR)。通常只定义基础就足够了。

某些PHP安装附带与某些FTP服务器不兼容的PHP FTP扩展。在这些罕见的情况下,您可能需要将FS_METHOD定义为“ftpsockets”。

以下是WordPress更新的有效常量:

  • FS_方法强制文件系统方法。它只能是“direct”、“ssh2”、“ftpext”或“ftpsockets”。通常,只有在遇到更新问题时才应更改此设置。如果你改变了它,但它没有帮助,把它换回来/取下。在大多数情况下,如果自动选择的方法不起作用,则将其设置为“ftpsockets”将起作用。
    • (首选项)“直接”强制它使用PHP中的直接文件I/O请求,这会在配置不良的主机上引发安全问题,这是在适当的时候自动选择的。
    • (次要首选项)“ssh2”是强制使用SSH PHP扩展(如果已安装)
    • (第三首选项)“ftpext”是为了强制使用FTP PHP扩展进行FTP访问,最后
    • (第四首选项)“ftpsockets”使用PHP套接字类进行FTP访问。
  • FTP_底座是WordPress安装的“base”(ABSPATH)文件夹的完整路径。
  • FTP_CONTENT_DIR(飞行时间_内容_红外)是WordPress安装的wp-content文件夹的完整路径。
  • FTP_PLUGIN_DIR公司是WordPress安装的插件文件夹的完整路径。
  • FTP_公开是SSH公钥的完整路径。
  • FTP_PRIKEY公司是SSH私钥的完整路径。
  • FTP_用户是用户FTP或SSH用户名。这些更新很可能是相同的,但请根据您希望执行的更新类型使用适当的更新。
  • FTP_通过是为输入的用户名的密码FTP_用户。如果您正在使用SSH公钥身份验证,则可以省略此操作。
  • FTP_主机是SSH/FTP服务器的主机名:端口组合。默认FTP端口为21,默认SSH端口为22。这些不需要提及。
  • FTP_SSLSSL连接为TRUE如果基础传输支持(并非在所有服务器上都可用)。这适用于“安全FTP”,而不是SSH SFTP。
define('FS_METHOD','ftpext');define('FTP_BASE','/path/to/wordpress/');define('FTP_CONTENT_DIR','/path/to/wordpress/wp-CONTENT/');define('FTP_PLUGIN_DIR','/path/to/wordpress/wp-content/plugins/');定义('FTP_PUBKEY','/home/username/.ssh/id_rsa.pub');定义('FTP_PRIKEY','/home/username/.ssh/id_rsa');define('FTP_USER','username');define('FTP_PASS','password');define('FTP_HOST','FTP.example.org');define('FTP_SSL',false);

某些配置应将FTP_HOST设置为localhost,以避免在尝试更新插件或WP本身时出现503个问题。

启用SSH升级访问

有两种方法可以使用SSH2进行升级。

第一个是使用SSH SFTP更新程序支持插件第二种是使用内置SSH2升级程序,这需要安装pecl SSH2扩展。

要安装pecl SSH2扩展,您需要发出类似以下命令,或与您的网络托管提供商联系以安装此扩展:

pecl安装ssh2

安装pecl ssh2扩展后,需要修改PHP配置以自动加载此扩展。

pecl是由pear包在大多数linux发行版中提供的。要在Redhat/Fedora/COS:

yum-y安装php-pear

要在Debian/Ubuntu中安装pecl:

apt-get安装php-pear

建议使用不受密码保护的私钥。有许多报告称,受密码短语保护的私钥无法正常工作。如果您决定尝试密码短语保护的私钥,则需要将私钥的密码短语输入为FTP_pass,或者在安装更新时在所提供凭据字段的“密码”字段中输入。

替代Cron

可能有理由在WP中使用另一种Cron。最常见的情况是,如果计划发布的帖子没有按预期发布,则会执行此操作。此替代方法使用重定向方法。当cron需要运行时,用户的浏览器会得到重定向,这样当cron继续在刚断开的连接中运行时,他们会立即返回站点。这种方法有一定的风险,因为它依赖于非本地WordPress服务。

define('ALTERNATE_WP_CRON',true);

禁用Cron和Cron超时

通过将Disable_WP_cron设置为true,完全禁用cron。

define('DISABLE_WP_CRON',true);

确保cron进程不能每WP_cron_LOCK_TIMEOUT秒运行一次以上。

定义('WP_CRON_LOCK_TIMEOUT',60);

其他定义的常量

以下是可以定义的其他常量。除非首先尝试了其他方法,否则可能不应该设置这些。如果您有一个不寻常的域设置,Cookie定义可能特别有用。

define('COOKIEPATH',preg_replace('|https?://[^/]+|i','',get_option('home').'/'));define('SITECOOKIEPATH',preg_replace('|https?://[^/]+|i','',get_option('siteurl').'/'));define('ADMIN_COOKIE_PATH',SITECOOKIEPATH.'wp-ADMIN');define('PLUGINS_COOKIE_PATH',preg_replace('|https?://[^/]+|i','',WP_PLUGIN_URL);define('TEMPLATEPATH',get_template_directory());define('STYLESHEETPATH',get_stylesheet_directory());

清空废纸篓

此常量控制WordPress从垃圾箱永久删除帖子、页面、附件和评论之前的天数。默认值为30天:

define('EMPTY_TRASH_DAYS',30);//30天

要禁用垃圾桶,请将天数设置为零。

define('EMPTY_TRASH_DAYS',0);//零天

注:当有人使用此设置单击“永久删除”时,WordPress不会要求确认。

自动数据库优化

有自动数据库修复支持,您可以通过将以下定义添加到wp-config.php文件。

注意:只有在需要时才应启用此功能,问题解决后才应禁用此功能。启用后,用户无需登录即可访问该功能,因为其主要目的是修复损坏的数据库,并且当数据库损坏时,用户通常无法登录。

定义(“WP_ALLOW_REPAIR”,true);

脚本可以在以下位置找到{$your_site}/wp admin/maint/repair.php.

DO_NOT_UPGRADE_GLOBAL_TABLES(全局数据)

A类DO_NOT_UPGRADE_GLOBAL_TABLES(全局数据)定义阻止dbDelta()以及对全局表执行昂贵查询的升级功能。

具有大型全局表的网站(特别是用户和usermeta),以及与bbPress和其他WordPress安装共享用户表的网站,可以通过定义DO_NOT_UPGRADE_GLOBAL_TABLES(全局数据)为真。由于ALTER、无界DELETE或UPDATE可能需要很长时间才能完成,因此大型站点通常希望避免在升级过程中运行它们,以便自己处理。此外,如果安装程序在多个bbPress和WordPress安装程序之间共享用户表,您可能希望一个站点成为升级主站点。

定义('DO_NOT_UPGRADE_GLOBAL_TABLES',true);

查看所有定义的常量

PHP有一个函数,它返回所有当前定义的常量及其值的数组。

打印(@get_defined_constants());

禁用插件和主题文件编辑器

有时,您可能希望禁用插件或主题文件编辑器,以防止过度热心的用户编辑敏感文件并可能导致网站崩溃。如果黑客获得对特权用户帐户的访问权限,禁用这些功能还可以提供额外的安全层。

define('DISALLOW_FILE_EDIT',true);

注释:某些插件的功能可能会受到使用current_user_can('edit_plugins')在他们的代码中。插件作者应该避免检查此功能,或者至少检查是否设置了此常量并显示适当的错误消息。请注意,如果插件不工作,这可能是原因。

禁用插件和主题更新和安装

这将阻止用户从WordPress管理区域使用插件和主题安装/更新功能。设置此常量也会禁用插件和主题文件编辑器(即,无需设置DISALLOW_File_MODS和DISALLOW_File_EDIT,因为在其自身的DISALLOW _File_ODS上,效果相同)。

define('DISALLOW_FILE_MODS',true);

管理和登录需要SSL

注:WordPress(文字出版社)版本4.0不推荐使用的FORCE_SSL_LOGIN。请使用FORCE_SSL_ADMIN。

FORCE_SSL_ADMIN用于保护登录和管理区域的安全,以便密码和Cookie永远不会在明文中发送。另请参见管理_覆盖_SSL了解更多详细信息。

define('FORCE_SSL_ADMIN',true);

阻止外部URL请求

通过将WP_HTTP_Block_external定义为true来阻止外部URL请求,这将仅允许本地主机和您的博客发出请求。常量WP_ACCESSIBLE_HOSTS将允许其他主机通过请求。WP_ACCESSIBLE_HOSTS常量的格式是一个以逗号分隔的主机名列表,支持通配符域,例如*.wordpress.org将允许联系wordpressorg的所有子域。

define('WP_HTTP_BLOCK_EXTERNAL',true);define('WP_ACCESSIBLE_HOSTS','api.wordpress.org,*.github.com');

禁用WordPress自动更新

站点不自动更新可能是有原因的,例如自定义或主机提供的更新。也可以在主要发布之前完成,以便在允许在生产站点上进行更新之前,有时间在开发或登台环境上进行测试。

定义(“AUTOMATIC_UPDATER_DISABLED”,true);

禁用WordPress核心更新

操作核心更新的最简单方法是使用WP_AUTO_UPDATE_core常量:

#禁用所有核心更新:define('WP_AUTO_UPDATE_CORE',false);#启用所有核心更新,包括次要更新和主要更新:define('WP_AUTO_UPDATE_CORE',true);#为次要版本启用核心更新(默认):define('WP_AUTO_UPDATE_CORE','minor');

参考:在WordPress 3.7中禁用自动更新

清理图像编辑

默认情况下,每次编辑图像时,WordPress都会创建一组新的图像,当您恢复原始图像时,所有编辑都会留在服务器上。将IMAGE_EDIT_OVERWRITE定义为true会更改此行为。只创建了一组图像编辑,当您恢复原始图像时,这些编辑将从服务器中删除。

define('IMAGE_EDIT_OVERWRITE',true);

保存前仔细检查

请务必检查您输入的任何上述值周围是否有前导和/或尾随空格,不要删除单引号!

保存文件之前,请确保双重检查您没有意外删除参数值周围的任何单引号。确保文件中关闭PHP标记后没有任何内容。文件中的最后一件事应该是?>其他什么都没有。没有空格。

要保存文件,请选择文件>另存为>wp-config.php并将文件保存在WordPress安装的根目录中。把文件上传到你的网络服务器上,你就可以安装WordPress了!