更改php错误报告以仅隐藏特定站点的警告

时间:2013-05-21 01:12:15

标签: php ubuntu apache2 warnings error-reporting

想象一下来自sites-enabled的几个/etc/apache2/sites-available。 (只有基于Debian的发行版才能像这样工作。)

是否可以将来自特定网站的php脚本中的warning消息静音,而无需触及实际的htdocs

通常有几种解决方案可以达到相关的目的:

  1. 添加error_reporting()指令,例如error_reporting(E_ERROR);执行的脚本。
  2. .htaccess文件中设置php_flags,如:php_flag display_errors off
  3. 在脚本中使用ini_set
    ini_set('display_errors', 'Off');
    ini_set('display_startup_errors', 'Off');
    error_reporting(0);
  4. @添加到发出警告或错误的函数中。
  5. php.ini改为实际说出
    error_reporting = E_ALL ^ E_WARNING
    display_errors = 1
  6. 然而,这些都意味着触及htdocs或全局应用更改。想象一下,htdocs是以只读方式挂载的。我如何仅限制某些网站的警告(或通知)?

    我假设Debian / Ubuntu有a2ensite具体配置是有原因的,我希望我能改变它们。示例'site available'配置中有一个log_level指令,但这会处理记录的消息量。不是php脚本输出的消息。

    php.iniapache2.confhttpd.conf中手动添加部分也会有效。如果可能的话。

    另见:

1 个答案:

答案 0 :(得分:1)

您可以在.htaccess文件中控制许多php的配置选项,这将为您提供特定于目录的控件。一般格式为:

php_value <config_key> <config_value>

或者,对于布尔值:

php_flag <config_key> <on|off>

在你的情况下,它是:

php_flag display_errors off