web-dev-qa-db-ja.com

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

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

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

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

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

10

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+
14
h0tw1r3