没有得到PHP错误?

时间:2013-06-24 12:00:40

标签: php

由于某些原因,这个特殊的脚本是我在许多其他地方使用的脚本的副本,我没有得到任何PHP错误。它只是显示一个空白页面,今天早上我花了很长时间才找到一个丢失的分号。为什么不出现错误?

我的这个子域的PHP.INI:

display_errors = On
short_open_tag = On
memory_limit = 32M
date.timezone = Europe/Paris

页面顶部的代码:

session_start();

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

Sub Domain设置为以Apache Module运行PHP,这与我使用的每个其他域相同。

所以我不确定为什么我没有显示错误。有谁能告诉我?

修改 这已经解决了,因为我生成的错误出现在我获得这些行的页面上:    使用error_reporting(E_ALL);     ini_set('display_errors','1'); 书面。当我把错误放到一个单独的页面并包含它时,我可以看到错误。

我猜这就是他们使用自举的原因!

3 个答案:

答案 0 :(得分:1)

您也应该在error_reporting中将php.ini设置为E_ALL:当发生解析错误(例如缺少分号)时,您的error_reporting(E_ALL)将不会被使用。

答案 1 :(得分:0)

您可以尝试更改此行以从php获取更多信息:

 ; The display of errors which occur during PHP's startup sequence are handled
 ; separately from display_errors. PHP's default behavior is to suppress those
 ; errors from clients. Turning the display of startup errors on can be useful in
 ; debugging configuration problems. But, it's strongly recommended that you
 ; leave this setting off on production servers.

 display_startup_errors = On

 ; When PHP displays or logs an error, it has the capability of formatting the
 ; error message as HTML for easier reading. This directive controls whether
 ; the error message is formatted as HTML or not.
 ; Note: This directive is hardcoded to Off for the CLI SAPI

 html_errors = On

答案 2 :(得分:0)

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