我尝试在将计算机更新到OS X 10.9后,通过我的php.ini文件禁用WordPress 3.7中的STRICT错误报告。我正在运行PHP版本5.4.17,这是与Mavericks一起提供的版本。
在我的wp-config.php文件中,我启用了define('WP_DEBUG', true);
,它在升级我的操作系统之前工作正常,因此,PHP。
在php.ini文件中,我尝试将error_reporting设置为:
error_reporting = E_ALL
或
error_reporting = E_ALL & ~E_STRICT
或
error_reporting = E_ALL & ~E_DEPRECATED
甚至
error_reporting = 0
但错误仍然存在。
display_errors设置为Off:
display_errors = Off
每次更改文件后,我都会使用以下两个命令重新启动apache和httpd:
httpd -k restart
apachectl restart
我正在编辑的php.ini文件与phpinfo()中指向的文件相同,只是为了确保更改正在进行,我一直在编辑error_prepend_string值:
error_prepend_string = "<span style='color: #ff0000'>ERROR: "
并且错误中会发生这些变化。
对于如何调试这一点的任何想法都将非常感激。
答案 0 :(得分:18)
在Wordpress 3.7中,函数wp_debug_mode
(在wp-includes/load.php
中定义,并从wp-setings.php
调用)设置error_reporting( E_ALL )
。
由于wp-settings.php
本身已在wp-config.php
的末尾加载,因此您无法从wp-config.php
更改此设置(或者更确切地说,您可以,但它会被覆盖)。
解决方案是创建一个“必须使用的插件”,也就是说位于/wp-content/mu-plugins/
文件夹中的.php文件包含:
<?php
if (WP_DEBUG && WP_DEBUG_DISPLAY)
{
ini_set('error_reporting', E_ALL & ~E_STRICT & ~E_DEPRECATED);
}
答案 1 :(得分:0)
我发现只有
error_reporting = off
有效,因为STRICT错误已经成为PHP 5.4的一部分,这很烦人。
答案 2 :(得分:0)
如果在wp-config.php文件中将WP_DEBUG设置为“false”。这些不会影响您的网站。
问题是上面的某些时候不起作用。 这可能发生在强制显示PHP错误,警告和通知的廉价/共享主机上。 在这种情况下,您可以从wp-config.php文件中删除此行:
define('WP_DEBUG', false);
并将其放置:
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
在我的情况下,它的工作。