无论您告诉它禁用什么,PHP 都会强制显示错误的一些原因是什么?
我试过了
error_reporting(0);
ini_set('display_errors', 0);
没有运气。
无论您告诉它禁用什么,PHP 都会强制显示错误的一些原因是什么?
我试过了
error_reporting(0);
ini_set('display_errors', 0);
没有运气。
请注意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 文件中将它们全部抑制,但这取决于系统配置。
务实地,不要写有语法错误的文件:)
为防止显示错误,您可以
使用phpinfo查找加载的 php.ini 并对其进行编辑以隐藏错误。它会覆盖您在脚本中输入的内容。
set_error_handler()
在脚本中的任何地方使用?这会覆盖error_reporting(0)
.
使用log_errors来记录而不是显示它们。
如果在 Apache 中使用php_admin_value指定设置,则无法在 .htaccess 或运行时更改。
请参阅:如何更改配置设置
务实地,不要写有语法错误的文件:)
为确保文件中没有语法错误,请运行以下命令:
php -l YOUR_FILE_HERE.php
这将输出如下内容:
PHP Parse error: syntax error, unexpected '}' in Connection.class.php on line 31
只需在index.php文件中添加以下代码:
ini_set('display_errors', False);