即使display_errors = 1,PHP皮棉也不会显示详细的错误消息

时间:2020-06-13 22:18:42

标签: php debugging

关于SO如何使用PHP的内置linter获取行号和错误消息,还有很多其他问题。我已经阅读了它们,并尝试了他们的建议,但没有任何效果。这可能是一个错误,但我想我会在对PHP项目提交错误报告之前先询问一下。

在Ubuntu 18.04系统上,我在display_errors中将On设置为/etc/php/7.4/cli/php.ini。我还使用命令行参数覆盖了设置:

php -d display_errors=1 -l file_with_obvious_syntax_error.php

我得到:

Errors parsing file_with_obvious_syntax_error.php

但是没有行号或任何错误指示。

#php -v  // edited out built time in output
PHP 7.4.6 (cli) ( NTS )
Zend Engine v3.4.0, Copyright (c) Zend Technologies
  with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies

我已在opcache.enable_cli=0中设置了/etc/php/7.4/cli/php.ini,并确认(来自php --ini)是cli客户端正在使用的配置文件。我也将stderr重定向到stdout,并且没有其他信息。

1 个答案:

答案 0 :(得分:0)

@AbraCadaver在评论中提供了答案。我正在回答这个问题,以防其他人遇到这种情况,因为这种行为不直观。我将错误报告设置为报告编译错误:

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

显然不会导致 导致PHP报告编译错误。将值设置为E_ALL可解决此问题。

相关问题