gpt4 book ai didi

PHP-FPM 无法覆盖 error_reporting?

转载 作者:可可西里 更新时间:2023-10-31 23:37:10 24 4
gpt4 key购买 nike

在过去的几个小时里,我遇到了一个让我发疯的问题:我无法在我的开发机器上覆盖 error_reporting 指令的默认值(Debian 8 + php-fpm 5.6.29 + Nginx/1.6.2)

我正在使用的 php 包:

$ dpkg --get-selections | grep php
libapache2-mod-php5 install
php-console-table install
php5 install
php5-cli install
php5-common install
php5-curl install
php5-fpm install
php5-gd install
php5-intl install
php5-json install
php5-mcrypt install
php5-mysql install
php5-readline install
php5-xmlrpc install
php5-xsl install

考虑以下极其简单的脚本:

<?php
$initial_value = error_reporting(); // Just read the current value

error_reporting(E_PARSE); // Lets set it to something else.

$update_value = error_reporting(); // Read again.

printf(
"Initial value: %s\nFinal value: %s",
$initial_value,
$update_value
);

如果我从 cli 运行它,它会工作:

$ php test.php
// output: Initial value: 22527 Final value: 4

但是如果我在 php5-fpm 下运行它,输出是:

Initial value: 32767 Final value: 32767

我尝试过的:

  • php.ini 中设置值(并检查 phpinfo(); 中列出的所有 php.ini 文件,以防万一)但什么也没有。
  • 我没有使用 .user.ini 字段(检查了两次)
  • 尝试了 error_reporting(E_PARSE)ini_set('error_reporting', E_PARSE);。这些指令应该覆盖 ini 文件,对吗?

当然,在每次编辑 ini 文件后,我确实重启了 php5-fpm 进程(也尝试停止然后启动而不是重启/重新加载)

奇怪的是,我实际上可以覆盖其他参数(例如,display_errors,在 ini 文件和 ini_set 调用中都有效) .

那么,到目前为止我还缺少什么?

最佳答案

这闻起来像 php_admin_value。检查你的 fpm/php.inifpm/pool.d/*fpm/conf.d/* 为:

php_admin_value[error_reporting] = E_ALL

它是不可覆盖的,并产生与您描述的相同的输出。也可以从 nginx 配置中设置,检查:

fastcgi_param PHP_ADMIN_VALUE ...

关于PHP-FPM 无法覆盖 error_reporting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41699328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com