刚刚在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服务器错误?
答案 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是一个服务器错误,所以对我来说,我认为它必须对你的配置或数据库连接设置做一些事情。