PHP不显示错误 - 内部服务器错误(500)

时间:2012-07-31 21:09:08

标签: php ubuntu-12.04 error-reporting internal-server-error

我已经在Amazon AWS上使用* Apache2 / MySQL / PHP5安装了全新的Ubuntu Server 12.04 LTS。当我运行PHP脚本并遇到错误时,我没有看到来自PHP的任何错误报告,我看到的只是

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request.

我已经检查了我的/etc/php5/apache2/php.ini文件,据我所知,应该设置错误报告。文件的内容(关于错误)是:

;    display_errors
;      Default Value: On
;      Development Value: On
;      Production Value: Off

;    display_startup_errors
;      Default Value: Off
;      Development Value: On
;      Production Value: Off

;    error_reporting
;      Default Value: E_ALL & ~E_NOTICE
;      Development Value: E_ALL | E_STRICT
;      Production Value: E_ALL & ~E_DEPRECATED

任何人都可以提供建议吗?如果我尝试类似$obj = new ObjectDoesntExist;的内容,它不会告诉我Fatal error: Class 'ObjectDoesntExist'它会给我一个服务器500错误。

有任何建议吗?

*我安装的模块是:mysql-server mysql-client apache2 php5 libapache2-mod-php5 phpmyadmin。除此之外,它是Ubuntu Server 12.04 LTS的完全基础安装

编辑: 如果我在脚本开头使用ini_set('display_errors', '1');它会正常显示错误,但如何启用此网站?

3 个答案:

答案 0 :(得分:14)

您粘贴的php.ini片段在每行中都有一个分号(;字符)。分号是php.ini中注释的开头,因此不使用分号后面的行中的所有内容。尝试手动将display_errors设置为on,将error_reporting设置为E_ALL,或删除相应的分号以解决此问题。

此外,检查你的apache的错误日志,php可能会在那里记录它的错误。

答案 1 :(得分:2)

请使用sudo gedit /etc/php5/apache2/php.ini和Production Value编辑php.ini文件,或者也可以使用ini_set('display_errors','1');在你的php文件的顶部

答案 2 :(得分:0)

我有同样的问题,但与php.ini无关 如果您有相同的错误,在开始剪切服务器之前,请先检查您的代码。 错误可能是缺失})或;或类似的东西。 这只是参考先做的事情。