php解析错误不会显示

San*_*cci 3 php

我正在运行ubuntu 10.04 + nginx + php-fpm 5.4

如果我display_errors = On在php.ini中设置,则会打印所有错误.如果相反,我将其设置为关闭然后使用ini_set('display_errors,'1'); 他们将直接在脚本中显示,但不会显示解析错误,只是一个空白页面.我也尝试使用error_reporting和E_STRICT,但我找不到方法!

Pas*_*TIN 14

如果禁用display_errorsphp.ini,然后再使用使其能够在你的PHP脚本ini_set(),它只会包含线启用后,ini_set()已执行的调用.

解析错误发生在PHP脚本甚至启动之前 - 解析PHP文件时(因此称为"解析错误"名称).

这意味着它们在您ini_set()甚至有可能被执行之前就会发生- 这意味着,在您的情况下,display_errors在发生解析错误时未启用; 因此,您不会显示任何内容.

  • 所以他们显示解析错误的唯一解决方案是在 ini 文件中启用它? (2认同)

小智 7

在这里,我在回答这个问题多年后,但我找到了解决这个问题的方法。

对于我正在编写的脚本,我创建了第二个脚本,其中包含 ini_set() 指令,然后是我真正正在处理的脚本的包含。

与,这里是 test_run.php

<?php

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

include('./my_script.php');

?>
Run Code Online (Sandbox Code Playgroud)