想象一下/etc/apache2/sites-available
提供了几个sites-enabled
。(只有基于Debian的发行版才能这样工作。(
是否可以在不接触实际htdocs
的情况下,将特定站点的php脚本中的warning
消息静音?
通常有几个解决方案可以实现一些相关的功能:
- 在执行的脚本中添加
error_reporting()
指令,例如error_reporting(E_ERROR);
- 在
.htaccess
文件中设置php_flags,如下所示:php_flag display_errors off
- 在脚本中使用
ini_set
:ini_set('display_errors', 'Off');
ini_set('display_startup_errors', 'Off');
error_reporting(0);
- 将
@
前置到引发警告或错误的函数 - 将
php.ini
更改为实际显示error_reporting = E_ALL ^ E_WARNING
display_errors = 1
然而,这些都意味着触及htdocs或在全球范围内应用更改。假设htdocs
是以只读方式安装的。如何仅针对某些网站抑制警告(或通知(?
我假设Debian/Uubuntu有a2ensite
特定的配置是有原因的,我希望我能改变这些配置。示例"站点可用"配置中有一个log_level
指令,但它处理记录的消息量。不是php脚本输出的消息。
在php.ini
、apache2.conf
或httpd.conf
中手动添加节也可以。如果可能的话。
另请参阅:
- http://www.php.net/manual/en/function.error-reporting.php
您可以在.htaccess文件中控制php的许多配置选项,这将为您提供特定于目录的控制。一般格式为:
php_value <config_key> <config_value>
或者,对于布尔值:
php_flag <config_key> <on|off>
在你的情况下,它会是:
php_flag display_errors off