我已经使用 *Apache2/MySQL/PHP5 在 Amazon AWS 上安装了全新的 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');
会正常显示错误,但是如何在整个站点范围内启用?
最佳答案
您粘贴的 php.ini 片段的每一行都有一个分号(; 字符)。分号是 php.ini 中注释的开头,因此不使用分号后面的所有内容。尝试手动将 display_errors 设置为 on 并将 error_reporting 设置为 E_ALL,或删除相应的分号来解决此问题。
此外,检查你的 apache 的错误日志,php 可能在那里记录它的错误。
关于PHP 不显示错误 - 内部服务器错误 (500),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749043/