被困难压住了!

作者 : admin 于 2008年06月18日, 23:45:45
2008
06-18

最近一直在研究php中CLI的应用,可最近两天晚上配置调试环境却遇到了很大的问题。
原来在写shell中 php -q参数居然不那么好用了,我用的php5.2.6,编译的时间加上了–enable-cli 参数,而查看帮助后 php -v,挨个试了相关参数,发现用 php -c 居然可以通过,而同一个命令,在php5.1.2版本下跟php5.2.6又不同。
询问了专家级人物奶瓶,解释亦不同。
怀疑是编译的时候少了什么参数,于是用yum install php进行安装,测试

PHP Shell初体验

作者 : admin 于 2008年05月25日, 16:59:51
2008
05-25

在linux(centos5)上编译安装 php-5.2.6.tar.gz ,configure参数一定要带上 –enable-cli

完成后,php所在目录 /usr/local/bin/php

运营 ./php -v 显示php版本信息,证明安装成功

编写我的第一个php shell脚本
#!/usr/local/bin/php -q
echo “Hello World!”;
?>

保存为 test.sh
运行,屏幕会 回显 Hello World!

在命令行下,不会存在get post之类的动作,除非参数写到页面内,而php恰巧提供了这样的命令行参数接口,$argv
修改test.sh
#!/usr/local/bin/php -q
print_r($argv);
?>

加参数运行 ./test.sh t1 t2 ,回显为

Array
(
[0] => ./test.sh
[1] => t1
[2] => t2
)

PHP SHELL,用php来代替bash

作者 : admin 于 2008年05月24日, 23:50:51
2008
05-24

总看到招聘php程序员的帖子说要求php程序员熟练运用linux,shell,我估计熟悉LAMP配置,在这个架构下开发php的人不在少数,但说到SHELL,估计有一批人一冒一身的冷汗。
c shell,bash shell的确用的少,但php shell你说不懂,就该左右开弓一百八十个大嘴巴。
php本身就是一种shell,在php4之后,php编译有个 –enable-cli 参数,php5之后这个参数几乎成了标配参数。php一样可以作为shell脚本运行在装有php环境的服务器上。
而在phpchina.com phpx.com总多bbs的招聘上,居然没有哪个php程序员拿出php shell这个技能去跟他们交涉。而实际上,phpshell的功能根本不比bash弱,而且在LAMP环境中,php shell比bashshell有诸多的优点。

下边是我在与非门科技工作时候的几个php shell应用,抛砖引玉,希望大家能学会这些简单但又适用的技能。

$root = “/var/www/”;
$bakdir = “/var/wwwbak/”.date(”Y-m-d”);
$dir = array(”***.eefocus.com”,”***.eefocus.com”);
if(!is_dir($bakdir)){
mkdir($bakdir);
}
foreach($dir as $key=>$value)
{
exec(”tar zcf “.$bakdir.”/”.$value.”.tar.gz /var/www/”.$value);
#echo “tar zcf “.$bakdir.”/”.$value.”.tar.gz /var/www/”.$value.”
“;
}
?>

这是一个简单的网站目录备份程序,使用cron每天执行,自动tar压包备份网站。虽然很笨的方法,但网站安全系数提高了,这个过程也不用写啥bash去解决。

其实在php执行shell的时候,已经支持命令行参数了,这些应用下次分解。

参考网站:

http://www.phpbuilder.com/columns/darrell20000319.php3

http://www.php-cli.com/