为了testing我的PHP项目的错误,我通常使用这个命令:
find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"
我想扩展部分php -l '{}' \; 有一些参数,所以它将使用自定义的error_reporting级别,而不是在php.ini中定义的级别。 这可能吗?
(我知道这个问题在某种程度上与编码有关,另一方面是shell命令,如果你认为它应该在stackoverflow上更好,那么可以随意移动它,但我不确定问题在哪里。
根据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
find各种组合的价值很简单。
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+