18

我已经使用 *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');在脚本开头使用它会正常显示错误,但是如何在整个站点范围内启用此功能?

4

3 回答 3

14

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

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

于 2012-07-31T21:16:10.173 回答
3

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

于 2013-12-13T02:42:13.777 回答
0

如果你有同样的错误,我有同样的问题,但与 php.ini 无关,在你开始在你的服务器上截图之前,首先检查你的代码。错误可能是缺少 } ) 或 ; 或类似的东西。这只是参考首先要做什么。

于 2013-10-23T07:22:47.687 回答