Using PHP7.4 on Windows 10 I updated php.ini (added ftp to the list of extensions) and that worked without recompiling.
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_ssl_connect — Öffnet eine sichere SSL-FTP-Verbindung
ftp_ssl_connect() öffnet eine
explizite SSL-FTP-Verbindung zu dem angegebenen
host
. Das impliziert, dass
ftp_ssl_connect() gelingt, selbst wenn der Server
nicht für SSL-FTP konfiguriert ist oder sein Zertifikat ungültig ist. Erst
wenn ftp_login() aufgerufen wird, sendet der Client das
entsprechende AUTH-FTP-Kommando, sodass ftp_login() in
den genannten Fällen fehlschlagen wird.
Hinweis: Warum diese Funktion eventuell nicht vorhanden ist
Vor PHP 7.0.0 war ftp_ssl_connect() nur verfügbar, wenn sowohl das FTP-Modul als auch die OpenSSL-Unterstützung statisch in PHP eingebunden wurden. Daher war diese Funktion in den offiziellen PHP-Builds unter Windows nicht definiert. Um diese Funktion auch unter Windows verfügbar zu machen, musste PHP selbst kompiliert werden.
Hinweis:
ftp_ssl_connect() ist nicht dazu gedacht, mit sFTP verwendet zu werden. Um sFTP mit PHP zu verwenden, siehe ssh2_sftp().
hostname
Die Adresse des FTP-Servers. Dieser Parameter sollte keinen
abschließenden Schrägstrich und kein vorangestelltes
ftp://
haben.
port
Gibt einen alternativen Port für die Verbindung an. Fehlt er oder wird er auf 0 gesetzt, wird der Standard-FTP-Port 21 verwendet.
timeout
Dieser Parameter bestimmt den Timeout für alle nachfolgenden Netzwerktätigkeiten. Falls er fehlt, wird er auf den Standardwert von 90 Sekunden gesetzt. Der Timeout kann jederzeit mittels ftp_set_option() gesetzt und mittels ftp_get_option() abgefragt werden.
Gibt bei Erfolg eine FTP\Connection-Instanz zurück.
Bei einem Fehler wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.1.0 | Gibt jetzt eine FTP\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben. |
Beispiel #1 ftp_ssl_connect()-Beispiel
<?php
// SSL-Verbindung aufbauen
$ftp = ftp_ssl_connect($ftp_server);
// Login mit Benutzername und Passwort
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
if (!$login_result) {
// PHP hat in diesem Fall bereits eine Nachricht der Stufe E_WARNING erzeugt
die("Login nicht möglich");
}
echo ftp_pwd($ftp);
// SSL-Verbindung schließen
ftp_close($ftp);
?>