php 管理svn文件

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

须要php将提交的文档同步到svn库中,因而把add命令,commit写入到一个shell中,而后php执行shellshell

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

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

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

2 由于须要php操做svn ,因此要把项目文件所属的组改成apache用户和其所在的组测试

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

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

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 就能够了

相关文章
相关标签/搜索