一尘不染

如何在PHP中启用错误报告?

php

我经常会尝试运行PHP脚本,然后返回黑屏。没有错误信息;只是一个空白的屏幕。原因可能是简单的语法错误(括号错误,分号丢失),函数调用失败或完全是其他原因。

弄清楚出了什么问题是非常困难的。我最终注释掉了代码,在各处输入“ echo”语句,等等,试图缩小问题的范围。但是肯定有更好的方法吧?

有没有办法像Java一样使PHP产生有用的错误消息?


阅读 345

收藏
2020-05-26

共1个答案

一尘不染

对于语法错误,您需要在php.ini中启用错误显示。默认情况下,这些功能是关闭的,因为您不希望“客户”看到错误消息。请查看PHP文档中的此页面,以获取有关2个指令的信息:error_reportingdisplay_errorsdisplay_errors可能是您要更改的一种。如果您无法修改php.ini,也可以将以下行添加到.htaccess文件中:

php_flag  display_errors        on
php_value error_reporting       2039

您可能要考虑将E_ALL的值(如Gumbo所述)用于您的PHP版本,error_reporting以获取所有错误。
其他3个项目:(1)您可以检查错误日志文件,因为它将包含所有错误(除非已禁用日志记录)。(2)添加以下两行将帮助您调试不是语法错误的错误:

error_reporting(-1);
ini_set('display_errors', 'On');

(3)另一个选择是使用编辑器,例如PhpEd,在键入时检查错误。PhpEd还带有调试器,该调试器可以提供更多详细信息。(PhpEd调试器与xdebug非常相似,并且直接集成到编辑器中,因此您可以使用1个程序来完成所有工作。)

2020-05-26