2011-03-10 104 views
6

以下腳本不會向瀏覽器輸出錯誤消息。相反,它會導致HTTP錯誤500響應。Ubuntu PHP5/Apache2 - 顯示500錯誤而不是錯誤信息

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

phpinfo(); 

echo "test" asdf // This should error 
?> 

想法?這是在ubuntu上安裝的基本php5/apache2。 httpd.conf是空白的,沒有.htaccess文件。

error.log文件顯示錯誤消息:

語法錯誤,意想不到T_STRING,期望 '' 或 ';'

這是正確的。

+0

這是否給你更多的錯誤'的ini_set(「display_startup_errors」,「ON」);'? – alex

+0

@alex - nope,相同的結果。 – EmpireJones

+0

刪除error.log文件並再次運行它。我懷疑你的PHP安裝不工作.....如果是,那麼error.log文件將被重新生成。你的httpd.conf文件是空白的事實也可能是一個問題 – Jason

回答

3
<?php 
error_reporting(-1); 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 

phpinfo(); 

echo "test" asdf // This should error 
?> 

error_reporting-1示出了甚至超過E_ALLdisplay_errors我使用的值1代替On

http://php.net/manual/en/function.error-reporting.php http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors

編輯:我得到了答案!

如果該腳本有一個解析錯誤導致它無法運行,這也會阻止它更改PHP設置。

https://serverfault.com/questions/242662/ubuntu-php5-apache2-displaying-500-error-instead-of-error-message

+0

我仍然得到相同的結果。 – EmpireJones

+0

如果腳本無法運行,php.ini更改不會被提交...請參閱編輯 –

+0

好吧,我現在明白了......看起來解決方案是通過ini文件打開錯誤。謝謝! – EmpireJones