1

我想看看发生的任何 PHP 错误,即"Expected ; on line 5 of myfile.php"那种事情。不幸的是,我似乎无法弄清楚如何查看这些信息。

我已将 E_ALL、display_errors 设置为 ON,友好的错误消息已关闭,IIS 设置为错误传递,我错过了什么?

用于在任何页面上按上述方式显示的语法错误;他们不再这样做了。我们将服务器移至 localhost 进行开发,我想并没有完全模仿服务器配置。现在我难住了。

在 IE 和 Chrome 上试过,都没有显示错误。

错误记录在 PHP 的日志文件中,但我仍然希望它们显示在页面上;至少现在。

更新:

刚刚尝试ini_set('display_errors', 'on');直接添加到请求的页面中,它现在可以工作了.. 但是为什么呢?为什么需要在本地设置?我的 PHP.ini 文件已经声明了这个。

4

3 回答 3

1

回答问题的第一部分;查看使用 ajax 时的错误:您可以使用浏览器的开发人员工具查看服务器的确切响应。

例如,在 FireBug for Firefox 中,您转到Net选项卡,在那里您会看到所有 ajax 请求在它们发生时弹出。打开其中一个请求将为您提供包含更多选项卡(如Response和)的概览HTML

于 2013-02-27T03:15:23.707 回答
0

尝试使用:

error_reporting (-1);

对于 php < 5.4,E_ALL 并不是真正的“全部”。

另外,确保设置了“display_errors”。

ini_set( 'display_errors', 1 );
于 2013-02-27T03:30:20.600 回答
0

好吧,看起来这一半是我自己的愚蠢,一半是自动安装的混乱。

原来有两个 php.ini 文件,并且 IIS 使用位于iis express主驱动器目录中的一个,而不是常规PHP目录。

因此,对于遇到此问题的其他任何人,我提供了您必须通过才能获得所需错误的废话的完整列表:

1) 关闭IIS默认错误页面

2) 禁用“友好的错误消息”

3)确保您使用的是正确的 php.ini 文件,并根据需要更改参数。具体error_reportingdisplay_errors

在浏览器中看到您需要的所有错误消息之前,所有这些都是必要的。

于 2013-02-27T22:38:43.430 回答