背景

在开发中,用命令行模式来运行 PHP 脚本,需将错误直接打在标准输出上方便调试,若 php.ini 中 display_errors 默认为 off 不打印错误(生产一般都是 off 不打印,而是将错误日志输出到文件,在 error_log 中定义输出路径),那么在命令行中如何直接变更 ini 配置为打印错误日志到终端呢?

使用 -d 参数(-r 直接运行,打印临调结果)

-d foo[=bar]     Define INI entry foo with value 'bar'
-r <code>        Run PHP <code> without using script tags <?..?>

使用实例

php -d 'display_errors=on' -r '$foo = ini_get("display_errors"); var_dump($foo);'

参考信息

php.ini 配置选项列表

https://www.php.net/manual/zh/ini.list.php

PHP 命令行选项

https://www.php.net/manual/zh/features.commandline.options.php