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 — Устанавливает соединение с FTP-сервером через SSL
ftp_ssl_connect() устанавливает явное SSL соединение
с FTP-сервером, заданным аргументом hostname
. Это означает, что
ftp_ssl_connect() будет успешным даже если сервер не
настроен для SSL-FTP, или его сертификат недействителен. Только когда будет вызвана
функция ftp_login(), клиент пошлёт необходимую команду AUTH FTP,
так что в указанных случаях ftp_login() завершится ошибкой.
Замечание: Почему эта функция может быть не определена
До PHP 7.0.0 ftp_ssl_connect() была доступна только если PHP был собран с поддержкой OpenSSL; это означает, что в Windows эта функция не была определена в официальных сборках PHP. Чтобы использовать эту функцию под Windows, вам придётся собрать PHP самостоятельно для включения поддержки OpenSSL.
Замечание:
ftp_ssl_connect() не предназначена для использования по протоколу sFTP. Для использования sFTP из PHP смотрите функцию ssh2_sftp().
hostname
Адрес FTP-сервера. Этот параметр не должен содержать слеши в конце
и префикс ftp://
в начале.
port
Задаёт порт, на котором устанавливается соединение. Если равен нулю или опущен, по умолчанию используется стандартный для протокола FTP - порт 21.
timeout
Задаёт время ожидания для всех операций с этим соединением. По умолчанию время ожидания устанавливается в 90 секунд. Получить и установить значение времени ожидания можно также с помощью функций ftp_set_option() и ftp_get_option().
Возвращает FTP\Connection в случае успешного выполнения или false
в случае возникновения ошибки.
Версия | Описание |
---|---|
8.1.0 | Возвращает экземпляр FTP\Connection; ранее возвращался ресурс (resource). |
Пример #1 Пример использования функции ftp_ssl_connect()
<?php
// установка ssl-соединения
$ftp = ftp_ssl_connect($ftp_server);
// проверка имени пользователя и пароля
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
if (!$login_result) {
// В этом случае PHP уже выбросил сообщение уровня E_WARNING
die("can't login");
}
echo ftp_pwd($ftp); // /
// закрытие ssl-соединения
ftp_close($ftp);
?>