php 管理svn文件

梦想与她 提交于 2020-02-28 17:29:31

开发了一个简单的项目文档管理系统,方便管理项目中的文档。

需要php将提交的文档同步到svn库中,于是把add命令,commit写入到一个shell中,然后php执行shell

没想象的那么容易,遇到了几个坑

1 add命令容易出现重复添加的错误,比较好的执行是

svn st | grep ^? | awk '{print $2}' | xargs svn add

2 因为需要php操作svn ,所以要把项目文件所属的组改为apache用户和其所在的组

    sudo chown -R apache用户名 myproject 
    sudo chgrp -R apache所在的组 myproject

http://blog.csdn.net/liruxing1715/article/details/39205415这篇文章介绍如何查看apache所在的用户和组

3 php执行shell的方式有三种分别是system() exec() passthru()

我刚开始使用system() 这个真是个大坑,执行shell时,只执行第一条svn add死活执行不了svn commit ,我后来把svn add 和svn commit 放入两个shell中,调用两次system才成功。后来我想到exec,是试了试,exec可以完美执行一个shell,所以就使用exec执行了 

 

4 我另一个功能是通过php update代码到测试服务器,总是出错,后来发现应该给整个项目目录更改用户和用户组,调用chown 就可以了

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!