2010-01-31 38 views
3

我有一個安全的FTP服務器,登錄詳細信息和PHP,試圖使用ftp_ssl_connect/ftp_connectftp_login函數連接到該安全的FTP服務器,並將所有參數正確地傳遞給該函數,但令人驚訝的是,看到它沒有連接。使用PHP的安全FTP連接使用PHP

如果我嘗試從命令行使用ssh連接到那個安全的FTP服務器比我能夠這樣做,但是當我試圖通過php代碼連接,它不連接,所以我不知道爲什麼這是發生?

還有什麼其他方式連接到使用PHP的安全FTP服務器?

編輯:我試過使用ssh2_sftp但我仍然無法連接到安全的FTP服務器。

編輯2:有沒有其他方法可以用PHP做SFTP,請指教。

更新:新增用於其向ssh2_sftp連接到安全的FTP服務器的代碼,但它沒有工作,並計劃與消息死了Cannot connect to Server

<?php 
$connection = ssh2_connect('www.server.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 

$sftp = ssh2_sftp($connection) or die ("Cannot connect to server"); 

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r'); 
?> 
+0

從您的評論到我的回覆,似乎您已經嘗試過ssh2_sftp。這可能有助於編輯您的問題以反映該問題,幷包括您使用該功能時遇到的具體問題,即執行哪些特定代碼時得到的錯誤消息。另外,包含* does *工作的SSH命令可能允許驗證您的代碼。 – mdb 2010-01-31 06:00:44

+0

@mdb:我用我用來連接的代碼更新了問題,基本上我使用它從php.net示例中爲ssh2_sftp。 – user260204 2010-01-31 06:05:38

+0

是否有任何其他方式使用PHP連接到安全FTP服務器? – user260204 2010-01-31 06:09:25

回答

1

就像mdb說的,你需要在PHP中使用ssh2擴展。如果你使用的是Linux,這很簡單,因爲sudo pecl install ssh2。如果你在OS X上,你需要做一個svn結帳,或按照這裏的說明:http://thirdpartycode.com/2010/01/installing-the-php-ssh2-extension-in-snow-leopard-10-6/

+0

所以你的意思是說我需要爲ssh2安裝一個新的pecl包。我在公司的服務器上工作,這是Linux。 – user260204 2010-01-31 06:00:52

+0

是的。除非你使用擴展構建PHP,這取決於你的Linux發行版,有些人可能已經有rpm或debian軟件包準備好了。 – 2010-01-31 18:51:34