Heim >Backend-Entwicklung >PHP-Tutorial >php中执行svn update问题

php中执行svn update问题

WBOY
WBOYOriginal
2016-06-23 13:59:091093Durchsuche

<?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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP如何做到自动发送GET请求?Nächster Artikel:php编译出错