- 此问题在此处已有答案**:
How do I get PHP errors to display?(27个答案)
13小时前关门了。
我在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');
,它会正常显示错误,但是我如何在整个站点范围内启用这个错误?
4条答案
按热度按时间mw3dktmi1#
您粘贴的php.ini代码段中有一个分号(分号;php.ini中,分号是注解的开头,因此分号后面的行中的所有内容都不会使用。请尝试手动将display_errors设置为on,将error_reporting设置为E_ALL,或者删除相应的分号来修复此问题。
此外,检查你的apache的错误日志,php可能会在那里记录它的错误。
yyyllmsg2#
请使用sudo gedit/etc/php5/apache2/php.ini编辑php.ini文件,并且在生产值上,或者您也可以使用ini_set('display_errors','1');在你的php文件的顶部
bjg7j2ky3#
我有同样的问题,但与php.ini无关,如果你有同样的错误,在你的服务器上开始裁剪之前,首先检查你的代码。错误可能是一个丢失})或;或者类似的东西。这只是参考先做什么。
yiytaume4#
*set_error_handler用于处理PHP错误,set_exception_handler用于处理异常。发生错误或异常时,将使用error_log函数将消息记录到错误日志文件中,并将响应代码设置为500以指示服务器错误。最后,尝试使用未定义的变量将触发一个示例错误。