2017-06-13 3 views
1

ich über eine Webseite von einem Server auf einen anderen verschoben haben, die die folgende Funktion enthält:php ftp_connect über explizite Verbindung ohne Authentifizierung

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(); 
     } 

Aber der neue Server ftp mit SSL/TLS mit expliziten Verschlüsselung verbinden müssen und keine Authentifizierung.

Ich habe versucht, die @ftp_connect zu @ftp_ssl_connect zu ändern, aber es will immer noch nicht wissen, gibt es etwas anderes, was ich nicht mache?

Oder ist das alles, was benötigt wird, und die FTP-Details, die es verwendet, sind einfach nicht korrekt?

Jede Hilfe ist ewig dankbar.

+0

haben Sie versucht 'ftp_ssl_connect()' ?? http://php.net/manual/en/function.ftp-ssl-connect.php –

+0

Ja ich habe, das ist genau das, was ich versuche zu sagen (nicht sehr gut, ich gebe es zu) – jimbeeer

+0

ohh ok .. haben Sie haben versucht, den passiven Modus ein-/auszuschalten? Es kann mit 'ftp_pasv ($ connection, TRUE/FALSE)' .. http://php.net/manual/en/function.ftp-pasv.php getan werden –

Antwort

0

Aus irgendeinem Grund wurden die FTP-Details nicht korrekt kopiert. Ich setze das ftp Passwort zurück, änderte die @ftp_connect zu @ftp_ssl_connect und alle Fehler gingen weg. Ich habe die Frage oben gelassen, für den Fall, dass jemand anderes wissen möchte, wie man sich über PHP mit ftp explizit verbindet.

Verwandte Themen