ssl — не удается подключиться к внешнему серверу FTPS с переполнением стека

Мне нужно извлечь данные из файла .gz, который находится на FTP-сервере. FTP-сервер работает с белым списком IP-адресов, поэтому я отправил свой локальный IP-адрес и IP-адрес своего веб-сайта (я использовал gethostbynameчтобы получить IP), которые оба были утверждены.

Локально, я могу запустить этот код, чтобы добраться до файла:

$url="ftp://username:password@host/targetfile.gz";
$xml = simplexml_load_file("compress.zlib://$url") or die ("Cannot load file");

Это работает отлично и позволяет мне извлекать данные из файла XML.

Однако когда я запускаю скрипт на моем сервере, я не получаю соединение. Я связался с администратором, работающим с сервером ftp, и они сказали, что разрешают только FTPS-соединения.

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

$conn_id = ftp_ssl_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);

if (!$login_result) {
die("Cannot login.");
}

echo ftp_pwd($conn_id); // /

// close the ssl connection
ftp_close($conn_id);

Это также не соединяет. Я новичок в FTP-соединениях с PHP и FTP в целом, и я понятия не имею, как действовать с этого момента.

OpenSSL включен.

Может кто-то указать мне верное направление?

Редактировать: это сообщения об ошибках:

Когда я использую верхний блок кода, это происходит:

Предупреждение: simplexml_load_file (): предупреждение ввода / вывода: не удалось загрузить внешний
юридическое лицо
«Compress.zlib: // имя пользователя: password@ftp.thehost.com/targetfile.gz»; в
/path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php on
строка 13

Когда я использую нижний блок кода, я получаю эту ошибку:

Предупреждение: ftp_login () ожидает, что параметр 1 будет ресурсом, учитывая логическое значение
в /path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php на
строка 16 Невозможно войти.

У меня нет доступа к файлу журнала afaik

0

Решение

Я не думаю, что мы можем вам чем-то помочь.

У вас нет сетевого подключения между веб-сервером и FTP-сервером.

Обратите внимание, что это не обязательно потому, что веб-сервер не был занесен в белый список на FTP-сервере. Также возможно, что веб-сервер не разрешает исходящие соединения.

0

Другие решения

Других решений пока нет …