Почему ftp_connect () возвращает false на рабочем сервере, если он работает в другом месте для подключения к тому же FTP-серверу? - PullRequest
1 голос
/ 07 июня 2010

У меня есть скрипт, который использует ftp_connect() среди других функций PHP PHP для загрузки файла.

ftp_connect() работает при выполнении на локальном сервере разработки для подключения к удаленному FTP-серверу.Тот же сценарий, когда выполняется на удаленном сервере, не работает для подключения к тому же FTP-серверу.

Может кто-нибудь указать мне правильное направление?1010 * Вот код:

error_reporting(E_ERROR | E_WARNING | E_PARSE);
$server = 'ftp.someserver.com';
$ftpConn = ftp_connect($server);
if(!$ftpConn)
    echo 'failed';
else
    echo 'success';

Об ошибках не сообщается.

Ответы [ 3 ]

2 голосов
/ 07 июня 2010

Так что, если я правильно понимаю, то вышеописанный скрипт установлен на сервере, к которому вы пытаетесь получить доступ через FTP (т. Е. Скрипт открывает локальное соединение FTP)? Какая польза? FTP в PHP полезен только для передачи файлов между двумя серверами, его нельзя использовать для передачи файлов с клиента на сервер (так как скрипт выполняется на сервере).

редактировать

Что-то, что я не добавил в свой первоначальный комментарий: вы можете использовать Java-апплет FTP, если вы хотите передавать файлы с клиента на сервер. Но помните о проблемах безопасности (поскольку учетные данные пользователя могут быть обнаружены: p).

2 голосов
/ 07 июня 2010

Возможно проблемы с брандмауэром. Кроме того, FTP не был разработан с учетом NAT.

Попробуйте войти на рабочий сервер и использовать FTP-клиент для того же подключения.

0 голосов
/ 10 мая 2017

Я не очень хорошо разбираюсь в этом, но хочу немного помочь. Мой сервер - Ubuntu Linux с Apache 、 PHP и MySQL, и моя среда разработки - MAMP на Mac.

  1. Я столкнулся с проблемой внезапно и не могу найти то, что произошло, потому что она сработала вчера, я искал много ответов и не мог ее решить. интересно, правда?

  2. Итак, я пытаюсь подключить сервер из командной строки, например ftp 111.22.333.44, он показывает:

    500 OOPS: невозможно прочитать файл списка пользователей: /etc/vsftpd/vsftpd.user_list

  3. Я захожу на свой сервер Ubuntu и не нашел каталог vsftpd, а vsftpd.user_list находится в каталоге /etc/, все еще не знаю, что произошло.

  4. Поэтому я просто создаю каталог и копирую в него файл vsftpd.user_list. Затем я снова пытаюсь ftp 111.22.333.44(your IP address) и он работает.

надеюсь, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...