Ubuntu PHP5/Apache2 - 显示 500 错误而不是错误消息

Posted

技术标签:

【中文标题】Ubuntu PHP5/Apache2 - 显示 500 错误而不是错误消息【英文标题】:Ubuntu PHP5/Apache2 - Displaying 500 error instead of error message 【发布时间】:2011-07-12 11:00:06 【问题描述】:

以下脚本没有向浏览器输出错误消息。相反,它会导致 HTTP 错误 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,需要 ',' 或 ';'

这是正确的。

【问题讨论】:

这是否会给您带来更多错误ini_set(‘display_startup_errors’, ‘On’); 删除error.log文件并再次运行。我怀疑您的 php 安装不起作用.....如果是,则将重新生成 error.log 文件。您的 httpd.conf 文件为空白的事实也可能是一个问题 你发现了吗?我现在有同样的问题,任何和所有 PHP 错误都会导致 500 内部服务器错误。 【参考方案1】:
<?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_ALL 还要多,对于display_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

【讨论】:

我仍然得到相同的结果。 如果脚本没有运行,则 php.ini 更改不会被提交...见编辑 好的,我现在明白了......看起来解决方案是通过ini文件打开错误然后。谢谢!

以上是关于Ubuntu PHP5/Apache2 - 显示 500 错误而不是错误消息的主要内容,如果未能解决你的问题,请参考以下文章

我需要在文件“/etc/php5/apache2/php.ini”中更改哪些内容以显示错误、警告、异常?我应该如何保存我所做的更改?

ubuntu14php5.5安装mcrypt扩展

如何在ubuntu上将php5更改为php 5.6版本

在 PHP 中显示错误

Ubuntu 14.04 中的 webgrind 分析文件存储在哪里?

php开启与关闭错误提示