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

相關文章
相關標籤/搜索