PHP 的命令行模式(Command Line Interface, CLI)是 PHP 的一个特定版本或运行时配置,它允许 PHP 脚本在没有 Web 服务器的情况下直接在命令行环境中执行。CLI 版本的 PHP 通常不包含 CGI 或者其他 web server 接口,因此更轻量级,启动速度也更快。
使用 PHP CLI
要使用 PHP CLI,你通常需要在命令行中调用 php
命令后跟你要执行的脚本文件。例如:
php your_script.php
参数和选项
CLI 模式下,你可以传递各种参数和选项给 PHP 解释器,这包括:
-
-f
或--file
后跟文件名,用于指定要运行的 PHP 文件。 -
-h
或--help
显示帮助信息。 -
-v
或--version
显示 PHP 版本信息。 -
-l
或--syntax-check
检查语法错误。 -
-d
或--define
定义配置选项。 -
-m
或--modules
列出所有已加载的模块。 -
-i
或--ini
显示当前使用的 php.ini 文件位置和设置。
自定义变量
在 CLI 模式下,可以利用特殊的变量 $argv
和 $argc
。$argv
是一个数组,包含了命令行中所有的参数,第一个元素 $argv[0]
是脚本名称,后续元素则是你传入的参数。$argc
是 $argv
数组中的元素个数。
例如:
<?php
// your_script.php
for ($i = 1; $i < $argc; $i++) {
echo "Parameter $i: {$argv[$i]}\n";
}
?>
然后在命令行中执行:
php your_script.php param1 param2 param3
这将输出:
Parameter 1: param1
Parameter 2: param2
Parameter 3: param3
其他特性
- 错误处理:在 CLI 模式下,错误和警告默认会被输出到标准错误流(stderr),而不是作为 HTTP 错误响应。
-
信号处理:可以使用
pcntl
扩展来处理 Unix 信号。 - 长时间运行的任务:适合做后台任务,如定时任务(cron jobs)等。