即使display_errors = On,PHP也不显示错误

wow*_*ick 45 php apache error-reporting

我有运行的Apache2和PHP 5.在我设置php.ini中Ubuntu的服务器error_reporting = E_ALL | E_STRICTerror_reporting = E_ALL | E_STRICT,但是PHP仍然没有显示错误消息.我也在使用Apache虚拟主机.

另外,PHP5.3提供的最严格的错误报告是什么?我希望我的代码尽可能地保持最新和面向未来.

Ray*_*Ray 78

您还需要确保您的php.ini文件包含以下设置,否则错误将仅发送到默认设置的日志或虚拟主机配置中指定的日志.

display_errors = On
Run Code Online (Sandbox Code Playgroud)

php.ini文件是服务器上所有PHP的基本设置,但是这些可以轻松地在PHP代码中的任何位置被覆盖和更改,并影响更改后的所有内容.一个好的检查是将display_errors指令添加到您的php.ini文件中.如果您没有看到错误,但正在记录错误,请将其插入文件顶部,从而导致错误:

ini_set('display_errors', 1);
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)

如果这样可行,那么代码中的某些内容会禁用错误显示.

  • 我一开始也错过了,但问题标题说`display_errors`是'On`. (3认同)

小智 12

我有同样的问题,最后解决了.我的错误是我试图更改/etc/php5/cli/php.ini,但后来在这里找到了另一个php.ini:/etc/php5/apache2/php.ini,更改了display_errors = On,重新启动了web-server它工作了!

对像我这样心不在焉的人来说可能会有所帮助.

  • 哇,没有意识到我在浪费我的一天,我用了> php -i | grep"php.ini"显示错误的目录! (4认同)

Bar*_*osa 7

我在使用Parallels Plesk Panel 10.4.4的虚拟服务器上遇到了同样的问题.解决方案是(感谢Zappa的想法)将error_reporting值设置为32767而不是E_ALL.在Plesk:主页>订阅>(选择域)>自定义> PHP设置> error_reporting - 输入自定义值 - 32767