コンソールパラメータを使用してPHPのerror_reporting値を設定する


10

PHPプロジェクトをエラーでテストするために、通常は次のコマンドを使用します。

find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"

php -l '{}' \;php.iniで定義されたレベルではなく、カスタムerror_reportingレベルを使用するように、一部のパラメーターを使用してパーツを拡張したいと思います。これは可能ですか?

(質問は多少コーディングに関連していることはわかっています。反対に、それはシェルコマンドに関するものです。stackoverflowの方が良いと思われる場合は、自由に移動してください。質問がどこに適しているかはわかりませんでした。)


あなたは意味するかerror_reportingのレベルを?php.iniPHPファイル自体の値またはカスタム値を使用しないのはなぜですか。
クォンタム2007

@quanta:はい、私はerror_reportingについて話しています。すみません、はっきりしていませんでした。今、質問を変えます。php.iniでこのコマンドチェーンを変更したくないのは、このコマンドチェーンをライブサーバーでも使用する場合があるためです。また、findコマンドはすべてのファイルを個別に実行するため、すべてのファイルに設定する必要があるため、ファイル自体に設定することもできません。また、外部ライブラリを使用するプロジェクトが時々あり、それらも同時にテストしたいと思います。
Raffael Luthiger、2011

回答:


14

php -hによると

-d foo[=bar]     Define INI entry foo with value 'bar'

推奨される本番デフォルト(E_ALL&〜E_DEPRECATED)が必要な場合、値はPHP 5.3では22527、PHP 5.4以降では24575になります。

php -l -d error_reporting=22527

さまざまな組み合わせの値を見つけるのは簡単です。

php -r 'echo E_ALL & ~E_NOTICE | E_STRICT;' # should return 32759
php -r 'echo E_ALL & ~E_DEPRECATED;' # should return 22527 in PHP 5.3, 24575 in PHP 5.4+

1
いまいましい...私は「php -h」を10回ほど読んでいましたが、どういうわけか私の心はいつもこの行を飛び越えていました...はい、これは私が探していたものです。私の場合、使用したいと思います:E_ALL | 32767でE_STRICT
ラファエルLuthiger
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.