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