刚刚在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错误消息.使用上述技术揭示了详细的错误消息,包括最重要的行号.
Apache 500 服务器错误 这不是 PHP 错误,这是服务器错误(服务器无法处理您的请求)或者可能是 .htaccess 文件可能存在重定向问题
干杯
| 归档时间: |
|
| 查看次数: |
46830 次 |
| 最近记录: |