PHP-FPM无法覆盖错误报告?
在过去的几个小时里,我遇到了一个让我抓狂的问题:我无法在我的开发机器上覆盖PHP-FPM无法覆盖错误报告?,php,php-5.6,fpm,Php,Php 5.6,Fpm,在过去的几个小时里,我遇到了一个让我抓狂的问题:我无法在我的开发机器上覆盖error\u 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
error\u 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
);
但是如果我在php5 fpm下运行这个,输出是:
Initial value: 32767 Final value: 32767
我所尝试的:
- 在
中设置值(并检查php.ini
中列出的所有php.ini文件,以防万一),但不设置任何内容phpinfo();
- Im未使用
fiels(检查两次).user.ini
- 使用
和error\u reporting(E\u PARSE)
ini\u set('error\u reporting',E\u PARSE)进行尝试代码>。这些指令应该覆盖ini文件,对吗
display\u errors
例如,可以从ini文件和ini\u set
调用中工作)
那么,到目前为止我还缺少什么呢?这闻起来像
php\u admin\u value
。检查您的fpm/php.ini
或fpm/pool.d/*
或fpm/conf.d/*
以了解:
php_admin_value[error_reporting] = E_ALL
它是不可覆盖的,并产生与您描述的相同的输出。也可以通过nginx配置进行设置,检查:
fastcgi_param PHP_ADMIN_VALUE ...
我已经在我的php7 fpm中运行了这个,它可以工作。可能是php5 fpm错误?@apokryfos dunno,我已经使用php5+fpm多年了,这是我第一次遇到这种情况!p、 s:请不要说像升级到php7之类的话。如果我能,我会的!如果你最近升级了你的PHP版本,比如从5.6.X-1升级到5.6.X,我认为可能值得再次降级,看看是否可以修复它。如果没有,那么可能会发生更微妙的事情。最后一次更新是
php5 fpm:amd64(5.6.28+dfsg-0+deb8u1,5.6.29+dfsg-0+deb8u1)
@2016-12-19。这是一个我可以尝试的东西,但由于我不是每天都玩这个设置,如果是一个bug,它可能已经存在好几个月了。你有一个.htaccess文件吗?
fastcgi_param PHP_ADMIN_VALUE ...