命令行接口
最后更新于:2022-04-01 14:55:02
PHP 是为开发 Web 应用而创建,不过它的命令行脚本接口(CLI)也非常有用。PHP 命令行编程可以帮你完成自动化的任务,如测试,部署和应用管理。
CLI PHP 编程非常强大,可以直接调用你自己的程序代码而无需创建 Web 图形界面,需要注意的是不要把 CLI PHP 脚本放在公开的 web 目录下!
在命令行下运行 PHP :
~~~
> php -i
~~~
选项 -i 将会打印 PHP 配置,类似于 [phpinfo()](http://php.net/function.phpinfo) 函数。
选项 -a 提供交互式 shell,和 Ruby 的 IRB 或 python 的交互式 shell 相似,此外还有很多其他有用的[命令行选项](http://php.net/features.commandline.options)。
接下来写一个简单的 “Hello, $name” CLI 程序,先创建名为 `hello.php `的脚本:
~~~
<?php
if($argc != 2) {
echo "Usage: php hello.php [name].\n";
exit(1);
}
$name = $argv[1];
echo "Hello, $name\n";
~~~
PHP 会在脚本运行时根据参数设置两个特殊的变量,[$argc](http://php.net/reserved.variables.argc) 是一个整数,表示参数个数,[$argv](http://php.net/reserved.variables.argv) 是一个数组变量,包含每个参数的值, 它的第一个元素一直是 PHP 脚本的名称,如本例中为 `hello.php`。
命令运行失败时,可以通过 `exit()` 表达式返回一个非 0 整数来通知 shell,常用的 exit 返回码可以查看[列表](http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits)。
运行上面的脚本,在命令行输入:
~~~
> php hello.php
Usage: php hello.php [name]
> php hello.php world
Hello, world
~~~
* [学习如何在命令行运行 PHP](http://php.net/features.commandline)
* [学习如何在 Windows 环境下运行 PHP 命令行程序](http://php.net/install.windows.commandline)