私はこの数時間で私を夢中にさせる問題があります。開発マシン(Debian 8 + php-fpm 5.6.29 + Nginx/1.6.2)のerror_reporting
ディレクティブのデフォルト値を上書きすることはできませんPHP-FPMはerror_reportingを上書きできませんか?
私が使用している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
を以下のデッド単純なスクリプト考える:私は、CLIから実行した場合、それが動作
<?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
);
を:
$ php test.php
// output: Initial value: 22527 Final value: 4
しかし、私はPHP5-FPMの下でこれを実行した場合、出力は次のようになります。
Initial value: 32767 Final value: 32767
私が試したもの:
- は
php.ini
内の値を設定(およびすべてのphp.iniのチェックファイルはphpinfo();
に記載されています) - イム
error_reporting(E_PARSE)
とini_set('error_reporting', E_PARSE);
との両方を試してみました.user.ini
fiels(2回確認) - を使用していません。これらの指令はiniファイルを上書きする必要があります。 私は、再起動のphp5-FPMプロセスをしたのiniファイルへのすべての編集後もちろん
(もを停止してから再起動/リロードするのではなく、起動しようとした)
奇妙なことは、私は実際に他のパラメータをオーバーライドすることができということです(たとえば、display_errors
は、iniファイルとini_set
コールの両方から機能します)。
これまでのところ私は何が欠けていますか?
私はこれをphp7-fpmで実行しました。おそらくphp5-fpmのバグ? – apokryfos
@apokryfos dunno、私は何年もの間、php5 + fpmを使ってきました。これは私に起こる初めてのことです! p.s: 'php7へのアップグレード 'のようなものを言ってはいけません。出来たらやる! – Strae
最近PHPのバージョンを5.6.X-1から5.6.Xにアップグレードした場合、それが修正されているかどうか再確認する価値があるかもしれません。そうでなければ、もっと微妙なことが起こっているかもしれません。 – apokryfos