友荐云推荐

从PHP 5.1.0开始,CLI SAPI提供了一个交互式命令行工具(Interactive shell),这个交互式PHP shell是通过使用–with-readline编译选项集成到php内核里的。使用这个交互式shell,你可以直接在命令行窗口里输入PHP并直接获得输出结果。

开启PHP的交互式shell模式,需要使用-a参数。下面是使用交互式shell的一些例子。

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

在交互式shell里,你可以使用tab键对函数名,内置变量,类名,静态方法等进行自动补全操作。

需要注意的是,Interactive Shell 和 Interactive Mode 并不是一个东西,尽管名称和功能都很相似。

如果你输入php -a,得到的回应是‘Interactive Shell’并跟随着‘php>’提示符,那你使用的就是交互式shell。如果你得到的回应是‘Interactive mode enabled’,说明你的PHP并不支持交互式shell,上面介绍的用法也不实用于你。

但也不用担心,Interactive mode(交互模式)也可以在命令行窗口里执行PHP代码,只是代码的执行方式有些区别。在PHP交互模式(Interactive mode)里,你在命令行窗口里输入PHP代码,代码不会立即执行,当你输入了所有PHP代码后,输入Ctrl-Z(windows里),或输入Ctrl-D(linux里),你输入的所有代码将会一次执行完成并输出结果。

在PHP交互模式(Interactive mode)里,跟交互式shell里不一样,你的代码需要以<?php开头,跟你的普通PHP文件里的写法一致。下面是在Windows里的使用例子。

C:\>php -a
Interactive mode enabled

<?php
echo "Hello, world!";
?>
^Z
Hello, world!

在Winidows里,没有交互式shell,只有Interactive mode。