Налаштування значення php error_reporting за допомогою консольного параметра


11

Для тестування моїх PHP-проектів на помилки я зазвичай використовую цю команду:

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

Я хотів би розширити частину php -l '{}' \;на деякі параметри, щоб вона використовувала власний рівень_повідомлення про помилки, а не той, який визначений у php.ini. Чи можливо це?

(Я знаю, що питання дещо пов'язане з кодуванням. З іншого боку, це більше стосується команд оболонки. Якщо ви вважаєте, що це має бути краще для stackoverflow, тоді сміливо пересувайте його. Я не був впевнений, де питання краще підходить.)


Ви маєте на увазі error_reportingрівень? Чому ви не хочете використовувати ці значення в php.iniабо власні у файлах php.
кванта

@quanta: Так, я кажу про повідомлення про помилки. Вибачте, це було недостатньо зрозуміло. Я зараз міняю питання. Я не хочу змінювати його в php.ini, тому що інколи я використовую цей командний ланцюжок і на живому сервері. І встановити його в самі файли - це не варіант, тому що я повинен був би встановити його у кожному файлі, оскільки команда find виконує кожен файл окремо. І в мене інколи є проекти, де ми використовуємо зовнішні бібліотеки, і я хотів би їх одночасно перевірити.
Raffael Luthiger

Відповіді:


15

Згідно з 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+

1
чорт ... я читав "php -h" близько 10 разів, але якось мій погляд завжди перестрибував цей рядок .... Так, це те, що я шукав. У моєму випадку я хочу використовувати: E_ALL | E_STRICT, що становить 32767.
Раффаель Лютігер

Оскільки PHP 5.4, E_STRICTвходить до складу E_ALL. І E_ALLмає зручне значення ярлика -1. Так можна зробити, php -d error_reporting=-1щоб увімкнути всю звітність.
Мартін Прикрил
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.