被困难压住了!
06-18
在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程序员的帖子说要求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/