有没有以交互方式使用PHP命令行的方法?
我发现了很多关于运行文本文件中的脚本的问题,但是我并没有真正关于带有我输入命令的提示符的shell:
$ php -a
Interactive shell
php > echo "hello world";
hello world
php > $a = 1;
php > echo $a;
1
php > exit;
$
当我转到Linux shell并运行php -a
时,我得到了PHP shell。我可以加载存在于文件中的类吗?这里的规则是什么?
答案 0 :(得分:5)
在Ubuntu 10.04服务器版中安装phpsh的说明。
获取phpsh源代码并解压缩
wget http://github.com/facebook/phpsh/zipball/master
sudo apt-get install unzip
mkdir temp
mv facebook-phpsh-8438f3f.zip temp
cd temp
unzip facebook-phpsh-8438f3f.zip
phpsh使用python,安装依赖项
sudo apt-get install python-setuptools
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install build-essential
sudo apt-get install python-dev
sudo apt-get install sqlite3 libsqlite3-dev
sudo easy_install pysqlite
sudo apt-get install libncurses5-dev
sudo easy_install readline
设置phpsh,运行并查看是否有效
sudo python setup.py install
phpsh
$a = array("a"=>1,"b"=>2);
print_r($a)
答案 1 :(得分:3)
规则与普通的PHP脚本没有任何区别 - 只是把它想象成从一个非常慢的磁盘读取......唯一真正的区别是它无法提前读取,所以你必须先定义函数你使用它们。
您可以使用include或require正常加载类。
答案 2 :(得分:2)
php的交互模式有些限制。您可能会发现phpsh更有用。
答案 3 :(得分:1)
我相信你可以使用include。您可以包含与您调用命令的位置相关的文件。
答案 4 :(得分:1)
如果您依赖PHP的类自动加载行为,还有一个小问题可能会有问题:
注意:如果自动加载不可用 在CLI交互模式下使用PHP。
答案 5 :(得分:0)
使用Boris
Python有一个。 Ruby有一个。 Clojure有一个。现在PHP也有一个。 Boris是PHP缺少的REPL(读取 - 评估 - 打印循环),允许 开发人员在终端中试验PHP代码 互动方式。如果你犯了一个错误,那没关系,鲍里斯 将报告错误并引起注意以获得进一步的输入。