2011-07-16 70 views
0

我一直在與一位開發人員討論使用PHP的PECL SVN擴展的基於web的產品的產品部署。我們的想法是通過從SVN存儲庫中提取更新來部署更新。SVN PECL擴展行爲超時

我們一直在使用SVN函數進行一些測試,它們都很好,但討論瞭解決方案,我們提出了一個潛在的問題,我們找不到答案。

當PHP腳本達到最大執行時間或以其他方式中斷時,SVN連接會發生什麼? PHP是否啓動了獨立運行的SVN連接,並且不依賴於調用它的腳本?

如果SVN連接依賴於腳本如果在SVN更新或提交正在運行時腳本中斷,會發生什麼情況?這可能會破壞更新過程並將工作副本留在兩個修訂版和/或不完整的文件之間。

在此先感謝您的幫助。

+1

使用Phing,Ant,Maven或Capistrano和類似的工具進行部署會更實用嗎? – Gordon

+0

是的。我一直在閱讀這些(特別是關於Phing),他們似乎是一個很好的部署解決方案。我們正在探索可能性。儘管感謝您的評論。 – Dan

回答

1

PHP不會獨立運行SVN相關函數,它們就像本地函數一樣。你總是可以延長PHP的超時時間set_time_limit()

我目前正在使用這些PHP函數導出大約30MB和幾千個文件沒有任何(timout)問題的大型資料庫。如果您始終可以在機器上使用最新版本的SVN庫和PECL擴展。最新版本中有很多錯誤修正。

+0

謝謝你的回覆。我意識到可能會增加超時,但感謝您指出了這一點。我希望能夠發現,如果通過超時或任何其他問題,腳本在svn update/commit開始後失敗,會發生什麼情況。 – Dan