【问题标题】:Why is the wordpress fatal error not being displayed?为什么不显示wordpress致命错误?
【发布时间】:2019-10-03 18:55:09
【问题描述】:

由于我们的服务器提供商端出现问题,我们的网站已迁移。它导致了很多错误,我修复了其中的大部分。现在,对于某些页面,它只是说有一个错误。它显示通知和折旧警告,但我知道这不会导致整个页面停止工作。为什么不显示致命错误?

这是我尝试过的。

define( 'WP_DEBUG_LOG', 'error.log' );
    ini_set('display_errors','on');
    ini_set('error_reporting', E_ALL );
    define('WP_DEBUG', true);
    define('WP_DEBUG_DISPLAY', true);
    error_reporting(E_ALL);

通常它会显示一个致命错误。我不知道为什么它没有向我显示重要错误。

请帮忙!

【问题讨论】:

  • 看起来不错。可能是您的服务器设置不允许 php ini 设置覆盖。检查 php.ini 并确保您有类似 error_reporting=E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICTdisplay_errors=On 的内容。或者尝试使用 php_flag display_startup_errors onphp_flag display_errors on 从您的 .htaccess 中打开它

标签: php wordpress error-handling


【解决方案1】:

首先确保代码中没有将 error_reporting 设置为 0 的位置 例如

error_reporting(0); 

因为这将完全隐藏所有错误警告和通知。

在php脚本中,这三行代码就可以打开它

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

您应该会在 PHP 错误日志中看到相同的消息。

您需要检查的其他事项

1.) PHP.INI 文件或您的 Apache 配置

您可以移动到您的 php.ini 文件,并确保以下参数已被注释掉并设置。

通过注释掉,我的意思是删除它后面的分号**(;)**

例如。

未注释 = ;display_errors=On

已注释 = display_errors=On // 分号已删除

display_errors=On
display_startup_errors=On
track_errors = On
html_errors=On

关闭并重启apache使其生效。

2.) .HTACCESS 文件

您还可以检查 .htaccess 文件以查看这些警告参数标志中是否有任何设置为 0(表示关闭)并将它们设置为 1 表示开启。

记得在生产环境中关闭所有这些错误警告。

【讨论】:

  • PHP.ini 中有两行定义了 display_errors,谢谢!
猜你喜欢
  • 2013-09-14
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 2016-05-20
  • 2018-03-15
  • 2020-03-21
相关资源
最近更新 更多