PHP 命令行工具的常用选项详解

发布于:2025-07-05 ⋅ 阅读:(14) ⋅ 点赞:(0)

 PHP CLI 常用选项详解

-f <file>:运行脚本文件

php -f script.php

等同于:

php script.php

执行指定的 PHP 文件。


-r <code>:运行一段 PHP 代码

php -r 'echo "Hello World\n";'

可快速运行一小段代码,不需要加 <?php 标签。


-a:交互式模式(Interactive Shell)

php -a

启动一个 REPL(读取-执行-打印-循环)环境,适合测试代码片段。


-S <addr>:<port>:启动内建 Web 服务器

php -S 127.0.0.1:8000

用于开发环境调试,默认当前目录为文档根目录(可配合 -t 使用)。


-t <docroot>:指定 Web 根目录

php -S localhost:8000 -t public/

配合 -S 使用,设定文档根目录。


-c <path>|<file>:指定 php.ini 路径

php -c /etc/php/8.1/cli/php.ini script.php

用于指定 PHP 的配置文件路径。


-n:忽略所有配置文件(不加载 php.ini

php -n -r 'phpinfo();'

完全跳过配置文件的加载,适用于安全测试或环境隔离。


-d foo[=bar]:临时设置配置项

php -d display_errors=On -d error_reporting=E_ALL script.php

在运行脚本时设置 php.ini 配置项。


-i:显示完整的 PHP 配置信息

php -i

相当于执行 phpinfo(),可以用于查看环境和扩展等信息。


-m:列出已加载模块(扩展)

php -m

可查看已启用的扩展模块,例如 curl, mbstring, pdo 等。


-l:只进行语法检查(Lint)

php -l script.php

检查脚本语法,不执行任何代码。常用于 CI 自动检查。


-v:显示 PHP 版本信息

php -v

显示当前 CLI 使用的 PHP 版本和 Zend 引擎版本。


--ini:查看配置文件位置

php --ini

显示当前加载的 php.ini 文件和额外配置路径。


-B/-E/-R/-F:流处理相关选项(高级用法)

  • -R <code>:对每一行输入执行一次 PHP 代码。

  • -F <file>:对每一行输入执行 PHP 文件。

  • -B <code>:在处理前执行的初始化代码。

  • -E <code>:在处理完所有行后执行的结束代码。

示例:

cat names.txt | php -R 'echo strtoupper($argn)."\n";'

对输入的每一行执行 strtoupper()


-z <file>:加载 Zend 扩展

php -z /path/to/xdebug.so

用于动态加载 .so 格式的 Zend 扩展。


--rf/--rc/--re/--ri:查看函数/类/扩展信息

php --rf strlen         # 查看函数 strlen 的信息
php --rc DateTime       # 查看 DateTime 类的结构
php --re json           # 查看 json 扩展
php --ri curl           # 查看 curl 扩展的配置

适用于代码分析、调试和学习标准库。


✅ 常见组合示例

  1. 启动 Web 服务调试项目:

php -S 0.0.0.0:8080 -t public
  1. 快速测试代码片段:

php -r 'echo date("Y-m-d H:i:s");'
  1. 调试错误时开启显示:

php -d display_errors=1 script.php
  1. 只检查语法是否正确:

php -l your_script.php