当前位置: 首页 > 面试题库 >

如何在PHP中获得有用的错误消息?

司马宏茂
2023-03-14
问题内容

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

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

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


问题答案:

对于语法错误,您需要在php.ini中启用错误显示。默认情况下,这些功能是关闭的,因为您不希望“客户”看到错误消息。以获取有关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个程序来完成所有工作。)



 类似资料:
  • 问题内容: HTML代码 PHP代码 这会显示一条警告消息 ,说明是否有错误? 问题答案: 在else块中,您可以看到如何捕获MySQL错误并将其显示在警报中。

  • 问题内容: 我正在使用PHP函数将数据从本地计算机发布到Web服务器。我的代码如下: 不幸的是,我无法捕获任何错误,例如404、500或网络故障。那么,我如何得知数据没有发布到远程或从远程检索呢? 问题答案: 您可以使用该功能检测是否有错误。例如:

  • 问题内容: 在Java中,我们可以使用 如何在PHP中做到这一点?我已经知道了,但是它仅适用于对象。目前,我在Active Record中工作。我需要像这样的声明。 问题答案: 从PHP 5.5开始, 您可以通过 ClassName :: class 使用类名解析。 查看PHP5.5的新功能。 如果要在类方法中使用此功能,请使用 static :: class : 对于旧版本的PHP ,可以使用g

  • 问题内容: 我想拥有一个独立的PHP类,在这里我想拥有一个通过cURL调用API并获取响应的函数。有人可以帮我吗? 谢谢。 问题答案: 只需使用下面的代码即可获得来自宁静的Web服务URL的响应,而我使用的是社交提及URL。

  • 控制台错误png我们一直试图通过使用以下代码打印特定网站的控制台错误。但是我们无法捕捉控制台错误。有人能给出快速响应吗 代码行: 错误: 代码行: 错误: 代码块:

  • 问题内容: 我想让我的PHP应用程序标有它使用的修订号,但是我不想使用CruiseControl或更新文件并每次都上传它。我该怎么办? 问题答案: SVN关键字不是一个好的解决方案。正如其他人指出的那样,在文件中添加$ Revision $仅会影响 特定文件 ,该 文件 可能不会长时间更改。 记住在每次提交之前“编辑”文件(通过添加或删除空白行)是没有意义的。您也可以手动输入修订。 做到这一点的一