今天花几分钟写的一个PHP小程序,用途是:无需给程序员开放服务器SSH帐号,只需通过Web浏览器即可从SVN版本库更新代码到Linux服务器的指定目录。如果有需要,可以给这段代码加个密码登录。
1、假设www、www是Apache或Nginx服务器的用户名和组,/data0/www/是网页文件存放根目录,执行以下shell命令:
sudo -s
/usr/sbin/groupadd www -g 48
/usr/sbin/useradd -u 48 -g www www
mkdir -p /data0/www/
chown -R www:www /data0/www/
su www
cd /data0/www/
/usr/local/bin/svn checkout --username zhangyan --password 123456 :8080/svn/web/trunk/
2、创建文件svn_up.php:
header("Cache-Control:no-cache,must-revalidate");
$handle = popen('/usr/local/bin/svn up --username zhangyan --password 123456 /data0/www/*', 'r');
$read = stream_get_contents($handle);//需要 PHP5 或更高版本
echo "
";
printf($read);
echo "";
pclose($handle);
?> svn up --username zhangyan --password 123456 /data0/www/*', 'r'); $read = stream_get_contents($handle);//需要 PHP5 或更高版本 echo "
"; printf($read); echo ""; pclose($handle); ?>
3、通过浏览器访问svn_up.php,显示以下内容(例):
U /data0/www/app/DataTransferService.php
Updated to revision 561.
[文章作者:张宴 本文版本:v1.0 最后修改:2008.10.06 转载请注明原文链接:]