我正在使用Ubuntu 12.04 64位,我想使用PHP交互式shell:
php -a
但是它似乎并不能很好地工作,很多语法都被错误地解释了。
当我运行php -a
它显示:
interactive mode enabled
而只是一个光标闪烁。
我正在使用:PHP 5.4.13-2〜精确+ 1(cli)(内置:2013年3月21日12:17:18)
我如何使用PHP交互式shell?
尝试安装http://www.phpsh.org/这可能是最简单的解决方案。
步骤:(假设已经安装了依赖项)
git clone https://github.com/facebook/phpsh
cd phpsh
sudo python setup.py install
phpsh
phpsh是由Facebook做出的。 要安装它看到这个: http : //www.phpsh.org/
安装方向:
sudo apt-get install git cd /home/youruser;
拉仓库,CD到它并安装:
git clone https://github.com/facebook/phpsh cd phpsh sudo python setup.py install
运行:
el@apollo:~$ phpsh Starting php type 'h' or 'help' to see instructions & features php>
演练:
打印字符串:
php> echo 'hi'; hi
做一些数学:
php> echo 1+2; 3
打印一些内建变量:
php> echo $_SERVER; Array
打印该数组的内容:
php> print_r($_SERVER); Array ( [LANG] => en_US.UTF-8 [TERM] => xterm [SHELL] => /bin/bash )
获取该数组的关键字:
php> echo $_SERVER['TERM']; xterm
另外添加一种:
php> =2+2 4
打印前一个:
php> = $_ 4
存储一个变量:
php> $msg = "don't just sit there fancy pants, take the wheel"; php> echo $msg; don't just sit there fancy pants take the wheel
一个等式可以通过换行开放直到它完成:
php> =2+ ... 3+ ... 4+5 14
定义我们自己的数组:
php> $derp = array(1,2,3); php> echo $derp Array
获取变量的类型:
php> echo gettype(PHP_VERSION); string
对于伟大的正义,循环:
php> $i = 0; while ($i < 3){$i++; echo "pinkie pie is best pony ";} pinkie pie is best pony pinkie pie is best pony pinkie pie is best pony
获取自己的一些信息:
php> phpinfo(); phpinfo(); PHP Version => 5.3.10-1ubuntu3.8
爆炸解析空间的字符串到一个数组,print_r漂亮的打印它:
php> function little_bad_girl(){ print_r(explode(" ", "oxy contin")); } php> little_bad_girl(); Array ( [0] => oxy [1] => contin )
Foreach结构可以扩展到以下几行。
php> foreach (array(1,2,3) as $item) { ... echo $item; ... } 123
块注释被忽略:
php> /* echo "hidden"; */ php>
从文件读取:
php> $section = file_get_contents('/home/el/myfile.txt'); php> echo $section; we will become a spacefaring civilization.
不,没时间:
php> echo time(); 1386492405
纯真可爱的真相:
php> echo isset($_SERVER); 1
创建一个数组,在其中搜索一个项目。
php> $data = array(0, 1, 2); php> echo preg_grep("/1/", $data); Array php> print_r( preg_grep("/1/", $data)); Array ( [1] => 1 ) php> print_r( preg_grep("/4/", $data)); Array ( )
你想要更多??? 有足够的一生,godspeed: http ://php.about.com/od/advancedphp/
这是没有安装php5-readline
软件包时会得到的。 假设这是你的问题,你可以通过运行这个命令来修复它:
sudo apt-get install php5-readline
PsySH怎么样 ?
一个小问题的例子:
psysh Psy Shell v0.7.2 (PHP 5.5.12-2ubuntu4.6 — cli) by Justin Hileman >>> $toto='ejgf5d78gfmkzl' => "ejgf5d78gfmkzl" >>> substr($toto,0,2) => "ej"