即使使用error_reporting(0),PHP会回显错误的原因是什么?

Val*_*ick 11 php error-reporting ini-set

PHP会强制显示错误的原因是什么,无论你告诉它禁用什么?

我试过了

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

没有运气.

Ada*_*ght 15

请注意http://uk.php.net/error_reporting手册中的警告:

大多数E_STRICT错误在编译时被评估,因此在error_reporting被增强以包括E_STRICT错误的文件中不报告这样的错误(反之亦然).

如果您的基础系统配置为报告E_STRICT错误,则可能会在您的代码被考虑之前输出这些错误.不要忘记,error_reporting/ini_set是运行时评估,在"运行前"阶段执行的任何操作都不会看到它们的影响.


根据您的评论,您的错误是......

解析错误:语法错误,意外T_VARIABLE,期待','或';' 在第11行的/usr/home/REDACTED/public_html/dev.php中

然后适用相同的一般概念.您的代码永远不会运行,因为它在语法上无效(您忘记了';').因此,永远不会遇到您的错误报告更改.

解决此问题需要更改系统级错误报告.例如,在Apache上你可以放置......

php_value error_reporting 0

在.htaccess文件中将它们全部压缩,但这取决于系统配置.

实际上,不要写出语法错误的文件:)