我正在使用 TextWrangler 来编辑 PHP 代码。我经常遇到代码在我的开发环境中只是显示为空白页的问题。有没有更好的方法来进一步定位我应该在代码中查找问题的哪个位置?
现在,我只是在遇到此问题时手动运行每一行,但我猜有某种解决方案,但我无法找到它的名称。
我正在使用 TextWrangler 来编辑 PHP 代码。我经常遇到代码在我的开发环境中只是显示为空白页的问题。有没有更好的方法来进一步定位我应该在代码中查找问题的哪个位置?
现在,我只是在遇到此问题时手动运行每一行,但我猜有某种解决方案,但我无法找到它的名称。
您应该确保您的开发 php.ini 文件包含:
display_errors = On
error_reporting = E_ALL
或者
display_errors = On
error_reporting = E_ALL | E_STRICT
即使打开这些,有时内存不足错误也会导致空白页。
将 php.ini 设置error_reporting
为 E_ALL
display_error = On
error_reporting = E_ALL
您也可以在您的代码中执行此操作。
error_reporting(E_ALL);
或者
ini_set('error_reporting', E_ALL);
您可以在此处阅读有关错误报告的更多信息。
我已经为此苦苦挣扎了一段时间(学生在我的一些课程中学习 PHP),因为我尝试使用
ini_set('display_errors', 1);
正如建议的那样(例如 Ullman 的 PHPv6 和 MySQL 5),但是将它放在您的代码中并没有捕获任何解析错误。相反,我继续看到空白页。
PHP Manual 网页中的评论给了我一个关于为什么设置的线索
display_errors = On
在 php.ini 中与添加不太一样
ini_set('display_errors', 1);
在您的 php 脚本的顶部。似乎 PHP 有一个 2 阶段操作,并在开始执行任何脚本文件之前完全解析脚本文件。如果由于缺少“;”而导致解析失败 或“)”,然后
ini_set('display_errors', 1);
gets parsed but never executed and so the parse error is not reported. The same comment offers a way to report parse errors if you do not have the means to change the php.ini settings.