月度归档:2015年02月

通过浏览器更新SVN

简单脚本实现通过浏览器更新SVN。

header("Cache-Control:no-cache,must-revalidate");
$handle = popen('export LC_CTYPE=en_US.UTF-8 && /usr/bin/svn up --username user_test --password pass_test /data1/svn_repo 2>&1', 'r');
$read = stream_get_contents($handle);//需要 PHP5 或更高版本
echo "

";  
printf($read);  
echo "

";
pclose($handle);

途中踩了两个坑:

1.svn 有中文文件名
export LC_CTYPE=en_US.UTF-8 解决此问题

2.命令返回1,但是没有错误显示

2>&1 解决此问题

3.运行此命令要保证运行PHP的服务程序用户具有读写权限

省事的做法是通过此程序直接checkout一份。

参考:http://zyan.cc/post/371/