我找不到我應該如何從CakePHP項目fredistrano訪問存儲庫(您可以使用Web 2.0界面部署CakePHP)。我在共享的unix web服務器上的web廣播目錄中有fredistrano。當我從我的筆記本電腦使用tortoisesvn時,我必須使用svn + ssh://[email protected]/svnpath/trunk/。我嘗試在fredistrano使用相同的東西,但我不斷收到svn命令錯誤「svn:網絡連接意外關閉」。我複製並粘貼命令:svn export --non-interactive --username myusername --password mypwd svn + ssh://[email protected]/home/myusername/svn/mydomain.com/trunk tmpDir 2> & 1進入我的SSH終端連接到共享服務器,我得到一個提示輸入密碼,我相信這實際上是提示輸入SSH密碼,而不是SVN密碼(請參閱此post)。 fredistrano失敗,因爲它無法處理SSH密碼提示。我在fredistrano文檔中注意到,該示例使用http://ipaddress/svn/test作爲SVN URL。我將我的svn複製到了我的網絡廣播目錄,並嘗試了這種方法,但得到了連接拒絕錯誤。我的共享主機提供商相當嚴格,我懷疑我可以使用它。有沒有辦法讓svn + ssh能夠像這樣的PHP腳本工作(fredistrano只是使用shell_exec()來執行svn命令)?有沒有辦法讓我得到svn,http或者https工作(或者其他我不知道的方法)?如何在PHP腳本中使用svn + ssh?
回答
"svn: Network connection closed unexpectedly"
最有可能意味着您的主機限制/禁止訪問其他主機。這可能意味着使用套接字(SVN,HTTP等)或可能只有非HTTP。在這種情況下,您應該嘗試設置您的SVN服務器以允許HTTP請求(例如,對於Apache使用mod_dav_svn
)。
這只是一個猜測 - 請參閱我對您問題的評論。
就像我在帖子中說的,我很確定這個特定的錯誤可能是由於PHP腳本無法處理使用svn + ssh運行svn命令之後發生的SSH密碼提示(錯誤可能意味着即嘗試連接超時或其他)。如果您爲svn命令指定了--password mypwd開關,則只包含svn密碼,而不是SSH密碼。 – gabe 2009-09-23 14:29:11
你如何從你的開發機器認證到svn-server?您可能正在使用密鑰進行身份驗證(您是否有膩子選美賽跑?)
我也對這個問題感興趣,我希望我接近解決方案。
我沒有試圖把它變成工作在我的應用由於缺少時間和其它高優先級的任務,但我想它應該是這個樣子:
shell_exec(svn something svn+ssh://...)
$response = trim(fgets(STDIN))
[然後檢查是否響應包含密碼提示文本]
fwrite(STDOUT, 'yourpassword');
[分析下反應,看看是否SVN返回所需的信息 - 日誌信息,無論]
看起來很有趣。我沒有時間去嘗試,但是如果你明白了,那麼讓我知道你是否有機會。 – gabe 2009-11-06 16:25:52
或許檢查出Subversion PHP Module(1.0.3),而不是包裝shell_exec
;它需要從源碼構建,其中phpize
,./configure
和make
(只是針對PHP 5.6和Subversion 1.9.5構建的)...而Apache模塊mod_dav(通過HTTP/HTTPS進行Subversion)不是版本控制所必需的,而是一個訪問存儲庫的可選方法。
- 1. 允許PHP腳本ssh使用sudo
- 2. 在bash腳本中使用ssh密鑰
- 3. 在perl腳本中使用ssh
- 4. 如何在Java腳本中使用php
- 5. 如何在TCPDF中使用PHP腳本?
- 6. 如何在PHP腳本中使用mono?
- 7. 如何執行一個bash腳本,使用ssh和php
- 8. 在Python腳本中使用SVN Propset
- 9. 配置SVN使用LDAP使用svn + SSH
- 10. 在PHP中使用這個腳本時SSH
- 11. 如何在python中使用ssh遠程執行腳本?
- 12. 如何在shell腳本中使用ssh命令?
- 13. 如何使用PHP腳本
- 14. 如何在PHP中使用SVN函數?
- 15. 使用python腳本從SVN
- 16. 如何使用svn dcommit獲取svn-all-fast-export Qt腳本
- 17. 如何使用svn + ssh協議簽出一個Subversion版本庫?
- 18. 在Perl腳本中的ssh
- 19. 如何從bash腳本中ssh?
- 20. 如何在linux ssh上執行腳本...?
- 21. 如何在windows上使用腳本完成ssh實現
- 22. 用SSH在shell中啓動Python腳本
- 23. PHP調用Expect腳本(通過SSH運行腳本,但用PHP調用)
- 24. 使用ssh在另一個腳本內運行perl腳本
- 25. 使用svn + ssh工作在svnx
- 26. 使用PHP調用腳本來處理文件或ssh?
- 27. 使用ssh調用bash腳本
- 28. Python腳本SSH
- 29. ssh expect腳本
- 30. SSH Shell腳本
你應該對你的環境更具體。你在哪裏運行你的代碼/你的SSH命令?你的筆記本電腦,專用服務器或其他? – Koraktor 2009-09-23 14:16:40
thx澄清問題。我添加了更多的細節。 – gabe 2009-09-23 14:25:38