English 中文(简体)
PHP语法检查?
原标题:
  • 时间:2009-03-09 17:23:04
  •  标签:

我正在使用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.

在开发过程中,您应该始终将错误报告级别设置为最高(E_ALL/E_STRICT),以便报告每个错误。

我已经在这方面苦苦挣扎了一段时间了(我的一些课程中的学生学习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.





相关问题
热门标签