問題
同じこと2回言うな!
原因
ここによると…
-
log_errorsはSTDERRに吐く。 -
display_errorsはSTDOUTに吐く。
ということらしいです。なのでどっちかに限定しようという話です。
対処法
サーバモジュールとCLIモジュールで読み込むphp.iniが異なるとき
それぞれお好みで設定してください。
サーバモジュールとCLIモジュールで読み込むphp.iniが同じとき
auto_prepend_file ディレクティブで指定された、自動的に読み込まれるファイルに
サーバログにエラーを残したい場合
<?php
ini_set('log_errors', true);
ini_set('display_errors', PHP_SAPI !== 'cli');
サーバログにエラーを残す必要がない場合
<?php
ini_set('log_errors', PHP_SAPI === 'cli');
ini_set('display_errors', PHP_SAPI !== 'cli');
と書いておくと幸せになれるかもしれません。もちろんプロジェクトごとにこの記述を行っても構いません。
気になる時だけこんな感じで -d オプションとして渡すのもありです。

