使用控制台参数设置 php error_reporting 值

使用控制台参数设置 php error_reporting 值

为了测试我的 PHP 项目是否存在错误,我通常使用以下命令:

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

我想用php -l '{}' \;一些参数扩展该部分,以便它使用自定义的 error_reporting 级别,而不是 php.ini 中定义的级别。这可能吗?

(我知道这个问题有点与编码有关。另一方面,它更多地与 shell 命令有关。如果您认为它在 stackoverflow 上会更好,那么请随意移动它。我不确定这个问题更适合放在哪里。)

答案1

根据php -h

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

如果您想要推荐的生产默认值(E_ALL & ~E_DEPRECATED),则该值将22527在 PHP 5.3 和24575PHP 5.4+ 中。

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+

相关内容