任何简单的PHP解析错误都会导致500服务器错误

时间:2012-07-22 12:46:19

标签: php error-handling

我的服务器(Apache2,PHP5)只要遇到PHP中的简单解析错误,就会返回一个带有Header Code 500的空白页面。例如:

<?php functiondoesnotexist(); ?>

<?php echo 'with2semicolons';; ?>

不输出其中一个橙色表告诉我什么是错的,服务器只是保释。

我检查过Apache错误日志,确实告诉我错误(例如Undefined function functiondoesnotexist())。

如何阻止此行为?我的php.ini(据我所知)未受影响。

2 个答案:

答案 0 :(得分:6)

您可以在php.ini文件中设置这些错误变量:

error_reporting = E_ALL | E_STRICT
display_errors = On

和/或在需要时在PHP脚本的开头覆盖它们:

ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

答案 1 :(得分:4)

尝试在error reporting之前添加ini_setdisplay_errors,例如:

<?php 
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 
ini_set('display_errors', '1')
?>

...

<?php functiondoesnotexist(); ?>