我正在使用64位Ubuntu 12.04,我想使用PHP交互式shell:
php -a
但它似乎不能很好地工作,很多语法被错误解释。
当我运行php -a
时,它会显示:
interactive mode enabled
只有一个光标闪烁。
我正在使用:PHP 5.4.13-2~precision + 1(cli)(内置:2013年3月21日12:17:18)
如何使用PHP交互式shell?
答案 0 :(得分:8)
尝试安装http://www.phpsh.org/这可能是最简单的解决方案。
步骤:(假设已安装依赖项)
git clone https://github.com/facebook/phpsh
cd phpsh
sudo python setup.py install
phpsh
答案 1 :(得分:7)
这是您未安装php5-readline
软件包时获得的内容。假设您的问题可以通过运行此命令来修复它:
sudo apt-get install php5-readline
答案 2 :(得分:6)
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
(
)
你想要更多???有足够的时间填补一生,速度:http://php.about.com/od/advancedphp/
答案 3 :(得分:2)
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"