我正在使用TextWrangler编辑PHP代码。 我经常遇到的问题是代码在我的开发环境中显示为空白页。 有没有好的方法可以进一步定位我应该在代码中查找问题的位置?
现在我只是每次遇到这种情况都要手动运行每一行,但我猜想有一种解决方案,我还没找到它的名字。
我正在使用TextWrangler编辑PHP代码。 我经常遇到的问题是代码在我的开发环境中显示为空白页。 有没有好的方法可以进一步定位我应该在代码中查找问题的位置?
现在我只是每次遇到这种情况都要手动运行每一行,但我猜想有一种解决方案,我还没找到它的名字。
你应当确认你的开发php.ini文件包含:
display_errors = On
error_reporting = E_ALL
或者
display_errors = On
error_reporting = E_ALL | E_STRICT
Even with these on, sometimes an out-of-memory err或者can cause a blank page.
将php.ini中的err或者_rep或者ting
设置为E_ALL
display_err或者 = On
err或者_rep或者ting = E_ALL
你也可以在你的代码中实现这个。
err或者_rep或者ting(E_ALL);
或者
ini_set( err或者_rep或者ting , E_ALL);
You can read m或者e about err或者 rep或者ting here.
我已经在这方面苦苦挣扎了一段时间了(我的一些课程中的学生学习PHP),因为我尝试使用
ini_set( display_errors , 1);
正如建议的那样(例如Ullman的PHPv6和MySQL 5),但将其放置在您的代码中并没有捕捉到任何解析错误。相反,我仍然看到空白页面。
一个在PHP手册网页中的评论给了我一个提示,可以解释为什么设置失败了。
display_errors = On
在php.ini中并不完全等同于添加
ini_set( display_errors , 1);
在您的PHP脚本顶部。PHP似乎具有两个阶段操作, 在开始执行之前会完全解析脚本文件。 如果由于缺少“;”或“)”而解析失败,则
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.