2

有没有办法error_reporting(E_ALL);为特定目录设置而不是将其包含在每个文件中?

我想为我的 beta.mysite.com 开启错误报告

4

4 回答 4

6

您可以在 Apache 中使用 .htaccess 文件。只需添加这一行:

php_value error_reporting 6143

或者对于旧的 PHP 版本:

php_value error_reporting 2047

请注意,您不能使用 contants(如 E_ALL)

手册

注意:PHP 之外的 PHP 常量

在 PHP 之外使用 PHP 常量(如在 httpd.conf 中)将没有任何用处,因此在这种情况下需要整数值。并且由于错误级别会随着时间的推移而增加,最大值(对于 E_ALL)可能会改变。所以代替 E_ALL 考虑使用一个更大的值来覆盖从现在到未来的所有位字段,一个像 2147483647 这样的数值。

于 2009-06-26T14:07:09.143 回答
3

使用 .htaccess 文件设置选项。

<IfModule mod_php5.c>
  display_errors 1
</IfModule>

现在,这自然只有在您使用 apache 作为模块时才有效。

如果您想在使用 CGI 时添加配置选项,您的选项将受到限制。

几个想法:

  • 在每个脚本中都包含一些内容。
  • 更具异国情调:使用重写规则,该规则指向目录中执行通常set_ini样式参数的已知脚本,然后通过检查路径包含预期的脚本。我不擅长重写规则,但我知道这是可以做到的。
于 2009-06-26T14:04:47.260 回答
1

快速说明:仅当 PHP 作为 Apache 模块安装时,将 PHP 指令放入 .htaccess 才有效。将 PHP 作为 CGI 安装后,您得到的只是一个500 Internal server error.

于 2009-06-26T15:46:21.580 回答
0

对于 CGI 模式,您必须使用 php.ini 来完成该操作

于 2009-11-07T01:20:21.460 回答