Apache 500服务器错误日志没有显示任何内容

时间:2012-02-24 11:02:12

标签: php apache

刚刚在PHP的新安装方面提供了一些帮助。

我已经使用apache PHP设置了一个新的Centos 6.2服务器,并且无法显示错误。 我已经复制了来自不同的所有网站应用程序文件以及文件夹结构和/ etc / httpd /中的所有内容。

当我访问我的网站时,我收到500错误或空白页面。除了记录500错误之外,日志根本没有显示任何内容:

[24/Feb/2012:17:33:25 +1100] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20100101 Firefox/6.0.1" 405 229 7176

我的htaccess看起来像这样: ErrorDocument 404 /error.php

php_flag  display_errors                  on
php_flag  display_startup_errors          on
php_flag  file_uploads                    on
php_value error_reporting                 6143
php_value max_input_time                  60
php_value post_max_size                   8M
php_value upload_max_filesize             2M
~

因此错误已开启......

Start of PHP file has:
error_reporting(-1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

和php.ini将error_reporting设置为E_ALL。

...但我在屏幕上遇到一些错误(例如没有关闭字符串),但是我的问题比我想的要大一些,我不知道从哪里开始调试!

所以我想我的问题是 - 如何开始调试500服务器错误?

3 个答案:

答案 0 :(得分:13)

当屏幕和Apache error_log文件以及其他任何地方的错误消息突然丢失时,我很幸运通过添加不同的PHP文件来使它们出现,仅用于开发:

<?php
 error_reporting(E_ALL);
 ini_set("display_errors", 1);
 include("productioncode.php");
?>

这样,即使productioncode.php有编译时错误,上面的代码也会运行,并显示消息,而不像仅将前两行放在productioncode.php的顶部。

@Jaspreet Chahal和@Saiyam Patel - 我刚从access_log中错误500的一个可爱的夜晚恢复过来,例如

77.22.98.222 - - [26/Feb/2012:22:38:41 -0500] "GET /buggycode.php HTTP/1.1" 500 - west-real-estate.com "-" "Mozilla/5.0 (Windows NT 5.0; rv:11.0) Gecko/20100101 Firefox/11.0" "PHPSESSID=hcd04vv9e1a316cr9miauf3bl5" - 0
来自(愚蠢)编码的任何httpd日志文件中没有PHP错误消息{'foo'=&gt; 'bar'}而不是数组('foo'=&gt;'bar')。使用上述技术显示了详细的错误消息,包括所有重要的行号。

答案 1 :(得分:1)

Apache 500服务器错误 这不是PHP错误,这是服务器错误(服务器无法处理您的请求) 或者.htaccess文件可能是重定向的问题

欢呼声

答案 2 :(得分:1)

尝试从配置文件中检查存储日志的位置。您所展示的是访问日志,而不是错误日志。所以只需检查存储错误日志的位置。干杯!如你所说,它的centos检查这个目录/var/logs/httpd并检查error_log文件。如果是自定义日志,则搜索该文件。

btw 500是一个服务器错误,所以对我来说,我认为它必须对你的配置或数据库连接设置做一些事情。