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

Loc*_*ock 10 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
Run Code Online (Sandbox Code Playgroud)

我的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
~
Run Code Online (Sandbox Code Playgroud)

因此错误被打开......

Start of PHP file has:
error_reporting(-1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Run Code Online (Sandbox Code Playgroud)

和php.ini的error_reporting设置为E_ALL.

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

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

Bob*_*ein 13

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

<?php
 error_reporting(E_ALL);
 ini_set("display_errors", 1);
 include("productioncode.php");
?>
Run Code Online (Sandbox Code Playgroud)

这样,即使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
Run Code Online (Sandbox Code Playgroud)

来自(愚蠢地)编码{'foo'=>'bar'}而不是数组('foo'=>'bar')的任何httpd日志文件中没有PHP错误消息.使用上述技术揭示了详细的错误消息,包括最重要的行号.

  • 嗯,它可能无法解决OP的情况,但它将解决一些适合TFA主题的问题"Apache 500服务器错误日志没有显示任何内容".(包括当你进一步限制在源文件中"打开"错误的情况时.)所以我相信这个技巧可能对其他搜索有用. (3认同)

Sai*_*tel 1

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

干杯

  • 如果发生 PHP 致命错误,Apache 可以很好地提供 500 错误。 (7认同)