我有兩個腳本。通過瀏覽器從PHP腳本調用svn更新不起作用
- 運行的更新,並調用了shell_exec( 'SVN更新'),並了shell_exec( 'SVN ST')
- 運行的mysqldump了shell_exec( '的mysqldump PARAMS')
的SVN腳本不是運行更新命令,svn st
打印結果,但不是svn update
我試圖聲明參數時調用svn更新例如 'svn更新'。 dir。 '--username myuser --password mypasswd --non-interactive'; - 仍然沒有 玩大部分參數
如果這是與二進制文件/權限/組相關的東西,我沒有看到它。 mysqldump命令正常工作,正在生成一個文件,爲什麼svn不更新文件系統?
請不要建議在PHP中使用核心SVN類。這不是一個選項,我沒有完全控制服務器,並且該模塊不可用。
感謝您的幫助,
-hbt
PS:重要的事情在這裏提及。當通過命令行調用時,腳本工作。只有通過Web瀏覽器調用時纔會失敗。
您確定在從web調用'shell_exec('svn update')'的結果爲空時瀏覽器嗎?很可能是權限問題(svn工作目錄和http進程的用戶不同),但在這種情況下,應該出現「svn:無法打開文件」.svn/lock':Permission denied「等錯誤。 – 2010-06-01 07:25:01
您是否已經嘗試捕獲輸出並將其轉儲到屏幕上/在調試時查看輸出?即。 '$ output = shell_exec('svn update ...');的print_r($輸出);'。你確定你沒有忘記把文件夾作爲變量引用(因爲給出的例子包含dir而不是$ dir,除非dir被定義爲一個命名常量)。 – wimvds 2010-06-01 07:25:41
@alexander 確實發佈了許可。這是.svn目錄。 svn update命令試圖在那裏寫東西。 感謝您的幫助 – hbt 2010-06-02 10:58:07