16

我正在使用 Ubuntu 12.04 64 位,我想使用 PHP 交互式 shell:

php -a

但它似乎不太好用,很多语法都被错误地解释了。

当我运行php -a它显示:

interactive mode enabled

只是一个光标闪烁。

我正在使用:PHP 5.4.13-2~precise+1 (cli)(构建时间:2013 年 3 月 21 日 12:17:18)

如何使用 PHP 交互式 shell?

4

4 回答 4

9

尝试安装http://www.phpsh.org/这可能是最简单的解决方案。

步骤:(假设已安装依赖项)

  1. git clone https://github.com/facebook/phpsh
  2. cd phpsh
  3. sudo python setup.py install
  4. phpsh
于 2013-04-22T04:09:08.360 回答
9

php5-readline这是未安装软件包时您将得到的。假设这是您的问题,您可以通过运行以下命令来解决它:

sudo apt-get install php5-readline
于 2016-07-22T16:27:47.523 回答
6

如何使用 PHP 交互式 shell

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 

Explode 将空间上的字符串解析为一个数组, 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/

于 2013-12-08T08:33:52.690 回答
1

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"
于 2016-05-18T22:02:54.917 回答