2012-01-16 70 views
1

我已經研究過PHP的SSH2模塊,但它需要在非常臃腫的服務器上進行PHP重新編譯。這遠比我們現在要承擔的風險要多得多。是否可以使用cURL通過SSH抓取文件?

我可以使用cURL通過SSH獲取幾個文件嗎?我做了一些谷歌搜索,並找到一些來源,但沒有100%清楚這是否可能。

回答

2

我不確定cURL,但如果您不想重新編譯但服務器已安裝ssh客戶端,則可以撥打電話scp進行系統調用。當然,如果你在本地和遠程主機之間都有SSH密鑰,它將會工作得最好。

shell_exec("/usr/bin/scp -i private_key_identity [email protected]:/path/to/remote/file /local/path"); 
1

CURL不會工作不幸。您可以像邁克爾建議的那樣使用scp,或者如果您需要定期複製文件,我會建議rsync,因爲它只會傳輸文件內容之間的差異。

exec('/usr/bin/rsync -az [email protected]:/path/to/directory/* /path/to/local/directory/'); 

標誌-a將使用歸檔模式,看到documentation瞭解更多詳情。 -z標誌將壓縮傳輸。

rsync也將通過SSH轉移,所以請確保您的私鑰/公鑰設置正確。

相關問題