PHP 8.5: CLI: php --ini=diff 输出非默认 INI 指令
PHP8.5 中的 PHP CLI 可执行文件支持一个新的 php -ini=diff
命令行标志,该标志列出了与内置默认值不同的 ini 指令。
这提供了一种快速识别更改的 INI 值的方法,在应包含可能导致问题的潜在 INI 设置的错误报告中特别有用。
PHP 继续支持 php --ini
CLI 选项,该选项列出了有关加载的 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
...
新增 php --ini=diff
CLI 标志
使用 --ini=diff
选项调用 PHP 8.5 及更高版本的 php
可执行文件会打印所有与内置默认值不同的 INI 指令。
php --ini=diff
Non-default INI settings:
html_errors: "1" -> "0"
implicit_flush: "0" -> "1"
max_execution_time: "30" -> "0"
请注意,没有以机器友好的格式获取这些条目的选项,是因为这主要是用于排除故障。
与其他配置选项一起使用 --ini=diff
PHP CLI 提供了一些 CLI 选项来调整 PHP INI 指令。
php -n
: 不使用配置文件(ini)php -c example.ini
: 在指定的目录中寻找php.ini
或者使用指定的 INI 文件php -d foo=bar
: 直接设置配置项
新增的 --ini=diff
选项与上述所有其他的 INI 相关的 CLI 选项都能很好地配合使用
比如,如果 date.timezone
INI 指令使用 -d
CLI 选项传入,这一改变反应在 --ini=diff
输出中:
php -d date.timezone="Europe/Amsterdam" --ini=diff
Non-default INI settings:
date.timezone: "UTC" -> "Europe/Amsterdam"
html_errors: "1" -> "0"
implicit_flush: "0" -> "1"
max_execution_time: "30" -> "0"
向后兼容性影响
php --ini=diff
PHP 8.5 中新增的 CLI 选项,它不会导致任何向后兼容性问题。
在旧版本的 PHP CLI 中调用 php --ini=diff
不会导致任何错误,不过其输出会与 php --ini
相同。