>백엔드 개발 >PHP 튜토리얼 >php中执行svn update问题

php中执行svn update问题

WBOY
WBOY원래의
2016-06-23 13:59:091091검색

<?php$username = 'test';$password = '111';$target_dir = 'svn://localhost/kf5';exec("svn up --username $username --password $password $target_dir 2>&1", $output);print_r($output);


希望采用php的exec执行svn update实现代码同步。可是程序没有如期执行:结果如下:求帮助 
Skipped 'svn://115.29.186.170/kf5'

请问如何执行的?或者说大家是如何实现svn代码更新后,web服务器就可以直接执行的?


回复讨论(解决方案)

php利用svn协作开发,并实时检验代码,有人做过么?

执行exec('mkdir tests');是成功的。能成功创建tests文件目录。

http://gongwen.sinaapp.com/article-132.html

to zy205817  谢谢 总是提示:skipped ...

问题解决:除去给此目录权限外。首先得执行如下命令:

svn co file:///data/web/kf5   /data/web/kf6    

第一个目录file:///data/web/kf5为svn代码库目录。第二个目录为web目录。
然后再执行:
svn update /data/web/kf6/ --username svn_name --password svn_passwd --no-auth-cache
测试通过:

然后在svn目录hooks里写上执行脚本:
文件名:post-commit
文件内容:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /data/web/kf6/ --username svn_name --password svn_passwd --no-auth-cache

最后不要忘记给web目录写权限和post-commit文件执行权限。




svn命令行参考:
http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.