PHP错误不被显示

我在Ubuntu 12.10上使用PHP和Apache。 出于某种原因,错误不会显示在浏览器上,我无法弄清楚。

我有我的php.ini文件中的以下内容:

 error_reporting = E_ALL & ~E_DEPRECATED display_errors = On display_startup_errors = On log_errors = On 

我也肯定我已经通过php_ini_loaded_file()validation了正确的ini文件。 我也可以通过在我的脚本中进行以下操作validation是否正确设置了值:

 echo ini_get("display_errors"); // Outputs 1 echo ini_get("display_startup_errors"); // Outputs 1 echo ini_get("log_errors"); // Outputs 1 echo ini_get("error_reporting"); // Outputs -1 

我已经尝试了这些设置的每一个可能的组合(并在每次更改后重新启动Apache),它只是不输出错误。 我也没有在脚本的任何地方使用ini_set 。 它只能从ini文件中设置。

任何想法为什么不显示错误?

更新:

事实certificate,这显示一些错误,但不是全部。

 echo 'hello''; // Shows syntax error trigger_error("E_USER_WARNING", E_USER_WARNING); // shows error trigger_error("E_USER_NOTICE", E_USER_NOTICE); // shows error trigger_error("E_USER_ERROR", E_USER_ERROR); // Doesn't show error 

原来问题是PEBKAC和Content-type头的组合。 在做:

 header('Content-Type: application/xhtml+xml; charset=UTF-8'); 

浏览器然后期待一个有效的XML文档。 当有特定错误时,即使发送了内容,也会导致文档在浏览器中不显示。 查看页面源代码显示错误确实已成功发送到浏览器以及所有其他代码。 我的问题是,我认为没有任何回音,因为我看到的只是白色。