Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php中执行svn update问题

php中执行svn update问题

WBOY
WBOYasal
2016-06-23 13:59:091065semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP如何做到自动发送GET请求?Artikel seterusnya:php编译出错