PHP 5.6.40 Windows, сбой соединения FTPS (сбой рукопожатия SSL / TLS) - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь подключиться к FTPS-серверу с помощью PHP 5.6.40 в Windows.

Я знаю, что мне нужно перекомпилировать PHP, чтобы включить OpenSSL и FTP в комплект PHP, и я так и сделал.

Функция ftp_ssl_connect уже здесь, но я получаю ошибку рукопожатия SSL / TLS.

Когда я пытаюсь подключиться к общедоступному серверу FTPS, я сталкиваюсь со следующей ошибкой:

Warning: ftp_login(): SSL/TLS handshake failed in D:\home\site\wwwroot\index.php on line 13
PHP Warning: ftp_login(): SSL/TLS handshake failed in D:\home\site\wwwroot\index.php on line 13 PHP Warning: ftp_login(): AUTH command ok. Expecting TLS Negotiation. in D:\home\site\wwwroot\index.php on line 13
Warning: ftp_login(): AUTH command ok. Expecting TLS Negotiation. in D:\home\site\wwwroot\index.php on line 13

Этот скрипт отлично работает на PHP 5.6.40 / Linux.

Я тоже пытался, чтобы получить тот же результат с командами cURL, Это здорово в Windows и Linux,но мне бы очень хотелось использовать PHP-команды PHP.

Есть идеи?

<?php

$ftpserver = "test.rebex.net";
$user = "demo";
$mdp = "password";

$connectionId = ftp_ssl_connect($ftpserver);

$login_result = ftp_login($connectionId, $user, $mdp);
ftp_pasv($connectionId, true);
$pasv_result = ftp_pasv($connectionId, true);

if ($pasv_result)
    echo "ok";
else
    echo "nok";
print_r( ftp_nlist($connectionId,'.'));
...