【问题标题】:Turn off error reporting in PHP (Master vs local value)关闭 PHP 中的错误报告(主值与本地值)
【发布时间】:2017-05-22 03:49:31
【问题描述】:

我尝试使用

在我的代码中关闭错误报告
error_reporting(0);
@ini_set('display_errors', 0);

还可以通过编辑根文件夹和前端文件夹中的 .htaccess 文件(分别)。

编辑 .htaccess 以包含诸如

之类的代码
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/logs/PHP_errors.log
php_value error_reporting -1
php_value log_errors_max_len 0

产生 500 错误。否则,此服务器上允许编辑 .htaccess,

错误的描述是

无效命令“php_flag”,可能拼写错误或由模块定义 不包含在服务器配置中

因此,由于某些底层配置,它显然不喜欢我在 .htaccess 中添加这种类型的代码。

查看 phpinfo() 它说错误报告的本地值是“关闭”(可能是由 error_reporting(0) 引起的),但关键是主值是“开启”。

如何覆盖主值,或者本地值实际上胜出? (本地值为“off”时仍会报错)

【问题讨论】:

    标签: php apache .htaccess


    【解决方案1】:

    您应该不需要 .htaccess 文件中的 Php 指令。

    Php 配置的主值是执行任何 Php 代码之前的值。本地值是调用 phpinfo() 函数时的配置值。见此链接:What is the difference between local value and master value

    在您的 Php 文件顶部添加以下代码应该会打开错误报告:

    error_reporting(0);
    ini_set('display_errors', 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多