2013-10-09 48 views
0

我想連接到使用PHP的遠程SFTP服務器。當我連接到本地SFTP帳戶時,我的代碼工作正常,但遠程主機超時。我通過FTP客戶端確認主機信息正確並且連接正常。SFTP沒有連接到遠程服務器

我正在使用phpseclib庫和我的三行代碼如下。

require_once("phpseclib/Net/SFTP.php"); 

$sftp = new Net_SFTP('remote_host_IP'); 
var_dump($sftp->login('<username>', '<password>')); 

它返回false(意思是未連接)。

我剛纔在情況下,它阻斷做

  • 我已列入白名單的mod_security的腳本。
  • 我已經在本地計算機上嘗試了相同的腳本,並且它已成功連接到遠程SFTP。

請提出任何有價值的提示嗎?

+0

您是否嘗試通過sftp手動傳輸文件? – Tarik

+0

是的,我在本地計算機上使用winSCP(Windows 7),並且它成功連接並上傳/下載文件。而且,當我在本地計算機上運行時,相同的腳本會很好地連接。 – Rahi

回答

0

這可能有助於他人。您需要確保遠程服務器上的TCP_OUT端口已打開才能使其工作。

感謝您的幫助!

1

初始化Net_SFTP之前執行define('NET_SSH2_LOGGING', 2),然後做$sftp->getLog()$sftp->login()

這將提供足夠的信息與診斷可。