Linux下phpsh安装与使用

博文摘要

在日常的php开发工作中,我们难免为测试一些小的php函数,或者验证一些php自定义类的输出,或者进行一些文件处理工作等事情,我们如果为这些小东西专门编辑一些测试处理文件的,耗时又耗力,当然也可以借助一些编辑器设置来完成php程序的验证(如配置Ultredit),但这也是需要添加文件,或者在临时php文件中写一些碍事的代码,测试完成后又得删除这些临时文件和代码,自我感觉也挺麻烦的。基于此,在这里介绍一个由facebook团队开发的phpshell程序,它可以方便的帮助我们完成一些简单的php函数验证、测试或者文件处理工作。目前,我对phpsh的使用是只基于此的,至于还有什么更大的用途还望大家分享。

博文正文 

首先说明安装前条件:
1.需要安装 python2.4以上版本;
2.需要安装php5以上版本;
3.需要安装exuberant ctags5以上版本;
其次介绍下phpsh的安装过程:
1.下载:在http://www.phpsh.org/ 下载文件压缩包,(附件中是我下载好的:facebook-phpsh-1.3-2-ge839d58.tar.gz);
2.解压:tar -xzvf facebook-phpsh-1.3-2-ge839d58.tar.gz;
3.修改phpsh.php文件:
a.进入src目录,打开phpsh.php文件,找到require_once '/etc/phpsh/rc.php'(一般在49行), 将包含文件直接修改为 'rc.php'即可;
b.在phpsh.php文件中找到 list($tok_type, $tok_val, $tok_line)=$tok;直接在前面加上 @ ,抑制错误信息输出(这块因为数组下标越界,在使用中会有错误信息提示,我才去最挫的办法@抑制错误信息,大家如有更好的改进办法,还望分享);
4.更改 phpsh 具可执行权限(如果已经具有可执行权限则无需修改):chmod +x phpsh;
5.建立phpsh文件的同步连接:ln -s /xxx/xxx/src/phpsh /bin/phpsh 。

再次就是phpsh的使用了:
1.使用时直接在命令行输入 phpsh 命令,便进入phpsh编辑界面,提示符 php>;退出phpsh时输入q php>q;
2.基本介绍:
a. phpsh 可以打印任何返回值,并且也可以分配最后一个返回值给$xx变量,任何打印在标准输出的显示为蓝色,标准错误输出则为红色;
b. 如果的你的语句是多行时,你也可以进行多行输入。phpsh你的输入直到你完成所有语句,除非当有未完成输入但是语句分隔片段出错时,你也可以通过^C取消语句片段。注意:多行输入需在每行结尾使用打开符号(如:{、[、();



php>for($i=0; $i<3; $i++){
php>…echo 'xxx--';}
php>xxx--xxx--xxx--



c.在phpsh中,你可以使用tab来自动完成函数名、全局变量名、常量、类和接口输入。
3.网上的一些例句:

 




linux centos安装sudo_操作系统

linux centos安装sudo_python_02

View Code


[root@localhost ~]# phpsh
php> = 3 + 4
7
php> = md5("ZhangYan")
28f91f3a4b62ce57b7a533e742e8aae1
php> echo date("Y-m-d H:i:s") 
2009-01-13 15:28:19
php> $var = "blog.s135.com"
php> echo $var
blog.s135.com
php> $array = array(array(1,2,3), array("a" => "b", "c" => "d", "e" => "f"), 'g', 'h')
php> = $array
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [a] => b
            [c] => d
            [e] => f
        )

    [2] => g
    [3] => h
)

php> q

[root@localhost ~]# phpsh



 

 

 

博文结语

 phpsh 的安装使用都非常简单,对我们平时测试验证php函数非常有用(我平时用它仅做这些事了),如有更深入的用途,还望强者分享呀。