Назад | Перейти на главную страницу

Установка значения php error_reporting с помощью параметра консоли

Чтобы проверить мои проекты PHP на наличие ошибок, я обычно использую эту команду:

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

Я хотел бы продлить часть php -l '{}' \; с некоторыми параметрами, поэтому будет использоваться пользовательский уровень error_reporting, а не тот, который определен в php.ini. Это возможно?

(Я знаю, что вопрос в некоторой степени связан с кодированием. С другой стороны, это больше касается команд оболочки. Если вы считаете, что в 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+