获取PHP中有用的错误信息的方法
P粉590929392
P粉590929392 2023-08-20 14:30:17
0
2
485

很多时候,我会尝试运行一个PHP脚本,但只会得到一个空白屏幕。没有错误信息,只有一个空白的屏幕。原因可能是一个简单的语法错误(错误的括号,缺少分号),或者是一个失败的函数调用,或者完全是其他什么原因。

很难弄清楚出了什么问题。我最后只能注释掉代码,到处添加"echo"语句,等等,试图缩小问题的范围。但肯定有更好的方法,对吗?

有没有办法让PHP生成一个像Java那样有用的错误信息?

P粉590929392
P粉590929392

全部回复 (2)
P粉608647033

以下代码启用所有错误:

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

还可以参考以下链接:

    P粉817354783

    默认情况下,显示错误是关闭的,因为您不希望“客户”看到错误消息。

    请查看PHP文档中的此页面,了解有关两个指令的信息:error_reportingdisplay_errors。您可能想更改的是display_errors

    所以您有3个选项:

    (1) 您可以检查错误日志文件,因为它将包含所有错误(除非已禁用日志记录)。要启用错误日志记录,请确保log_errors配置指令设置为On。当错误不是由PHP引起而是由Web服务器发出时,日志也很有帮助。

    (2) 您可以添加以下2行代码,以帮助您调试在同一文件中发生的非语法错误:

    error_reporting(E_ALL); ini_set('display_errors', 'On');

    请注意,在生产服务器上,后者应设置为Off(但仅限于后者,因为您仍然需要从日志文件中了解所有发生的错误)。

    然而,对于在同一文件中发生的语法错误,上述命令将不起作用,您需要在php.ini中启用它们。如果无法修改php.ini文件,您还可以尝试将以下行添加到.htaccess文件中,尽管现在很少支持:

    php_flag display_errors on php_value error_reporting -1

    (3) 另一个选择是使用在键入时检查错误的编辑器,例如PhpEd、VSCode或PHPStorm。它们都配备了调试器,可以提供更详细的信息。(PhpEd调试器与xdebug非常相似,并直接集成到编辑器中,因此您可以使用一个程序完成所有操作。)

      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!