2017-06-13 100 views
1

我搬到了一個網站從一臺服務器到另一個包含以下功能顯式連接:PHP FTP_CONNECT在沒有認證

public function ftpConnect() { 

      $this->ftpHost = $this->getVar('ftp','host'); 
      $this->ftpUsername = $this->getVar('ftp','username'); 
      $this->ftpPassword = $this->getVar('ftp','password'); 

      $this->ftpStream = @ftp_connect($this->ftpHost); 
      $ftpLogin = @ftp_login($this->ftpStream, $this->ftpUsername, trim($this->ftpPassword)); 

      $rootList = ftp_nlist($this->ftpStream, '.'); 
      if (in_array('public_html', $rootList)) { 
       ftp_chdir($this->ftpStream, 'public_html/');  
      } 

      $this->createDirs(); 
     } 

但新服務器必須使用SSL/TLS使用顯式加密連接FTP並沒有認證。

我試着將@ftp_connect更改爲@ftp_ssl_connect,但它仍然不想知道,還有什麼我沒有做的?

或者是所有需要的和它使用的ftp詳細信息是不正確的?

任何幫助永遠感激。

+0

你試過'ftp_ssl_connect()'? http://php.net/manual/en/function.ftp-ssl-connect.php –

+0

是的我有,這正是我想說的(不是很好,我會承認) – jimbeeer

+0

ohh好..有你嘗試打開/關閉被動模式?它可以使用'ftp_pasv($ connection,TRUE/FALSE)'來完成...... .. http://php.net/manual/en/function.ftp-pasv.php –

回答

0

由於某些原因,ftp詳細信息沒有正確複製。我重置了ftp密碼,將@ftp_connect更改爲@ftp_ssl_connect,所有錯誤都消失了。爲了防止任何人想知道如何通過php連接到ftp,我已經留下了這個問題。