上的显示错误无效(Apache 2.4.7和PHP 5.5.8-2)

上的显示错误无效(Apache 2.4.7和PHP 5.5.8-2),php,apache,error-handling,Php,Apache,Error Handling,我在debian上运行的http服务器(实际上是Apache2.4.7和PHP5.5.8-2)有问题。 如果未启用display_错误,服务器将返回500 http错误,但当使用php.ini或apache vhost指令启用display_错误时,服务器仅向客户端返回空白(或错误之前发生的任何输出)。我无法以任何方式显示实际发生的php错误 这里是phpinfo()中的配置部分 这是我尝试测试的实际php文件 <?php echo "A message before php-error

我在debian上运行的http服务器(实际上是Apache2.4.7和PHP5.5.8-2)有问题。 如果未启用display_错误,服务器将返回500 http错误,但当使用php.ini或apache vhost指令启用display_错误时,服务器仅向客户端返回空白(或错误之前发生的任何输出)。我无法以任何方式显示实际发生的php错误

这里是phpinfo()中的配置部分

这是我尝试测试的实际php文件

<?php
echo "A message before php-error occurs";
foobar1();
echo "A message after error occured";
?>

如果有人知道问题出在哪里,如果我能得到答复,那就太好了。目前,每当本地机器上发生错误时,我都必须复制生产平台以获得php错误输出。

查看您的
phpinfo.php
error\u报告值为
0
,这意味着它不是从virtualhost配置中设置的

根据PHP文档

在PHP之外使用PHP常量(如在httpd.conf中)没有任何有用的意义,因此在这种情况下需要整数值。 由于误差水平会随着时间的推移而增加,因此最大值(对于 E_ALL)很可能会改变。因此代替EyALL考虑使用 更大的值,覆盖从现在开始的所有位字段以及 将来,类似2147483647的数值(包括所有错误,而不仅仅是 所有人)

在virtualhost.conf中插入E_ALL(32767)的数值常量

可在此处找到错误代码常量的完整列表:

您也可以尝试插入

error_reporting(E_ALL);

在PHP脚本的顶部查看是否以这种方式显示错误报告。

错误日志如何?你为什么不发布
E_通知
?我已经更新了我的测试场景和帖子,
E_通知
不是问题所在。另外,给定的代码示例应该以一个真正的错误结束,不需要通知。错误日志总是空的,不知道为什么,在我的本地实例上它可以工作。你确定你正在运行这个特定的脚本吗?如果您将其全部替换为
是,我确信我编辑了正确的脚本。这里有一个示例:显示所有文件(包括配置和日志文件)。您是否在
phpinfo()
的输出中看到实际的“E_all”字符串?你到底是如何设置这个值的?非常感谢,这就是问题所在。如果使用
php\u admin\u值
E\u ALL
设置错误报告值。因此它被固定为
0
,因此我在php文件中尝试的任何重写都失败了。
HTTP/1.1 200 OK
Date: Sun, 16 Mar 2014 16:18:36 GMT
Server: Apache/2.4.7 (Debian)
Strict-Transport-Security: max-age=604800
X-Powered-By: PHP/5.5.8-2
Content-Length: 33
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

A message before php-error occurs
error_reporting(E_ALL);