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

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

我已经使用 *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/

相关文章:

documentation - 将库的文档添加到手册页

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - Mysql 结果返回未分组

php - 使用 joomla.2.5 在 ubuntu 12.04 上新安装 php、mysql、apache 的错误消息

php - 向自定义 WordPress 数据库表中的文本字段添加新行,而不覆盖现有值

python - 运行谷歌应用程序引擎时出错 : unrecognized arguments: admin_console_server

php - 将 PDO 异常记录到 error_reporting 和 error_log

configuration - 为什么 PHP 5.2.14 不显示任何错误(即使是从命令行)?

php - 如何在php中将系统日期与MySQL数据库中的日期进行比较

php - 通过数组获取mysql记录的数据?