即使 E_ALL 已打开,php 也不会报告错误

即使 E_ALL 已打开,php 也不会报告错误

为了确保我甚至在 php 文件中设置了它;

ini_set("display_errors","1");
ERROR_REPORTING(E_ALL);

但是,举个例子,当我不小心错过 } 时,屏幕保持白色;没有显示任何错误。当我在共享网络主机上使用完全相同的 php 文件时,错误会正确显示。

php.ini 设置为 E_ALL | E_STRICT

php 内存限制设置为 2k

超时设置为 0(无限)

有人知道吗?我在 Debian 6 上使用 lighttpd。

答案1

如果遇到解析错误(例如括号放错),PHP 将不会(不能)运行该脚本。

您可以运行php -d display_errors=On -l "script.php"从命令行查看解析错误。

由于脚本从未被评估,因此更改错误报告级别的函数永远不会运行。您需要通过 .htaccess 或 php.ini 设置这些标志,以便它们在解析期间可用。

相关内容