【发布时间】:2014-11-06 08:23:12
【问题描述】:
由于 word press 的警告,我的服务器日志文件在一个月内达到 9 GB 有任何问题。我想在服务器错误日志中停止 wordpress 生成的所有警告。
我该怎么做?
【问题讨论】:
由于 word press 的警告,我的服务器日志文件在一个月内达到 9 GB 有任何问题。我想在服务器错误日志中停止 wordpress 生成的所有警告。
我该怎么做?
【问题讨论】:
WordPress 或 PHP 的问题在于默认情况下,error_reporting 设置可以在运行时任意覆盖。在 WordPress 中,您会发现许多插件、主题甚至 WP Core 都自行设置了 error_reporting。
因此,即使您在 wp-config.php 中覆盖它也不会有任何好处。
如果你想让你的日志没有错误,我发现的唯一方法是在 php.ini 中使用这两个指令的组合:
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
disable_functions = error_reporting
限制到某个路径并禁用所有错误报告:
[PATH=/var/www/site]
error_reporting = 0
disable_functions = error_reporting
如果您不排除 E_WARNING,您将收到因 error_reporting 功能被禁用而产生的警告。
注意:disable_functions 接受以逗号分隔的函数名称列表。
如果你使用的是 php-fpm,你可以这样设置:
php_admin_value[disable_functions] = error_reporting
如果您无法控制 php.ini 或 php-fpm 配置,那么您很不幸。
【讨论】:
如果只是一两个页面造成问题(并假设它是 PHP 页面),您可以在导致问题的 PHP 页面顶部添加一行
ini_set('error_reporting', 0);
但是mevius是对的,最好是发现并解决错误而不是关闭它,否则可能会出现错误,您确实需要注意并且不会了解ut
【讨论】:
您最好的选择是简单地纠正实际错误。没有错误 = 没有大的日志文件。
如果这不是一个选项,您可以通过在 php.ini 中将 "display_errors" 设置为 0 来暂时禁用日志中的错误。如果这不起作用,另一种选择是将"error_reporting" 设置为0。
如果出于某种原因,您仍想show errors but hide warnings:
error_reporting(E_ERROR | E_PARSE);
配置错误日志取决于您的服务器配置,因此请参阅WordPress Codex on Error Logging 中的更多信息,了解更多潜在选项。
【讨论】:
旧版本的 Wordpress 将使用 PHP 命令 error_log 记录数据库错误,而不管所有设置。
禁用此功能的唯一方法是注释掉代码中的命令。
【讨论】:
如果您无法编辑 php.ini 文件(如果您的虚拟主机支持此功能),您可以将以下内容添加到您的 .htaccess 文件中以关闭错误日志记录:
php_flag log_errors off
这将关闭错误记录,最好修复导致警告的问题。但您可以将其用作临时解决方案,以防止在尝试解决问题时出现大量日志文件。
【讨论】: