Php
使用控制台參數設置 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 上應該更好,那麼請隨意移動它。我不確定這個問題在哪裡更適合。)
根據
php -h
-d foo[=bar] Define INI entry foo with value 'bar'
如果您想要推薦的生產預設值 (
E_ALL & ~E_DEPRECATED
),則該值將22527
在 PHP 5.3 和24575
PHP 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+