PHP 8.5: CLI: `php --ini=diff` отображает нестандартные INI директивы
Исполняемый файл PHP CLI в PHP 8.5 поддерживает новый флаг командной строки php --ini=diff, позволяющий отобразить список INI директив, отличающихся от стандартных значений по умолчанию.
Теперь вы можете быстро увидеть все изменённые настройки INI-файлов. Это удобно, когда нужно составить отчёт об ошибке и понять, какие настройки могли вызвать проблему.
Кстати, старая добрая команда php --ini всё ещё работает и показывает информацию о загруженных INI-файлах
Чтобы увидеть описание новой возможности, достаточно вызвать php --help:
php --help Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
...
--ini Show configuration file names
+ --ini=diff Show INI entries that differ from the built-in default
...
Новый флаг CLI php --ini=diff
Команда php в версиях PHP 8.5 и последующих с указанием параметра --ini=diff выводит INI директивы, чьи текущие значения не соответствуют стандартным.
php --ini=diffNon-default INI settings:
html_errors: "1" -> "0"
implicit_flush: "0" -> "1"
max_execution_time: "30" -> "0"Обратите внимание, что нет возможности получить эти записи в формате, удобном для обработки компьютером, так как они в основном предназначены для устранения неполадок.
Использование --ini=diff с другими параметрами конфигурации
PHP предлагает несколько опций CLI для точной настройки INI директив PHP.
php -n: Конфигурационные файлы (ini-файлы) не будут использоваться.php -c example.ini: Поиск файлаphp.iniв указанном каталоге или использование указанных INI-файлов.php -d foo=bar: Прямая установка параметров конфигурации.
Новая опция - -ini=diff хорошо работает со всеми вышеперечисленными опциями.
Например, если INI-директива date.timezone передаётся с помощью опции CLI -d, это изменение отразится в выводе --ini=diff:
php -d date.timezone="Europe/Moscow" --ini=diffNon-default INI settings:
date.timezone: "UTC" -> "Europe/Moscow"
html_errors: "1" -> "0"
implicit_flush: "0" -> "1"
max_execution_time: "30" -> "0"Влияние на обратную совместимость
php --ini=diff — новая опция CLI, добавленная в PHP 8.5, не вызывающая проблем с обратной совместимостью.
В предыдущих версиях PHP вызов команды php --ini=diff проходит без ошибок, но результат не отличается от php --ini.