Проблема с функцией ftp_put (). получать предупреждение. Как это исправить?

Я пытаюсь подключиться к другому серверу FTP с помощью PHP и загрузить на него файл.

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

Ниже приводится предупреждение, которое я получил.

Предупреждение: ftp_put () [function.ftp-put]: я не буду открывать соединение с 10.140.166.143 (только с 52.232.262.219) в /code/sites/my_web/model/Request.php онлайн 193

52.232.262.219 — это ip-адрес моего промежуточного сервера.

Строка 193 выглядит следующим образом:

$file_upload_status = ftp_put($conn_id, $remote_file, $file, FTP_BINARY);

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

Это происходит из-за настроек в файле php.ini. Поскольку файл php.ini на моем локальном компьютере может иметь некоторые другие настройки для этого, чем файл php.ini, присутствующий на промежуточном сервере.

0

Решение

Предупреждение: ftp_put () [function.ftp-put]: я не буду открывать соединение с 10.140.166.143 (только с 52.232.262.219) в /code/sites/my_web/model/Request.php в строке 193

Трудно догадаться только из этого сообщения об ошибке, но я предполагаю

  • что вы используете пассивный режим (клиент хочет подключиться к серверу для передачи данных)
  • и что сервер находится за некоторым маршрутизатором NAT, где сервер имеет внутренний IP 10.140.166.143, но маршрутизатор имеет внешний IP 52.232.262.219

Похоже, что FTP-сервер не знает, что он находится за маршрутизатором NAT и отправляет свой частный IP-адрес 10.140.166.143 в ответ на PASV, Но клиент имеет управляющее соединение с сервером по 52.232.262.219 (общедоступный IP-адрес, вероятно, порт, перенаправленный с маршрутизатора на сервер) и, следовательно, не любит, чтобы соединение для передачи данных осуществлялось по другому адресу.

Исправлено: использовать активный режим (не работает, когда клиент находится за NAT-маршрутизатором или межсетевым экраном). Некоторые серверы также могут быть настроены на объявление другого адреса, отличного от их собственного адреса. Они также могут использоваться в пассивном режиме при условии, что маршрутизатор настроен для пересылки большого количества портов.

1

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

FTP-сервер принимает соединения только с IP-адреса 52.232.262.219, а ваш IP-адрес 10.140.166.143 🙁

Смотрите конфигурацию вашего ftp сервера

0

По вопросам рекламы [email protected]