Я получаю странный сбой FTP в скрипте PHP. Я воссоздал ошибку, просто используя командную строку FTP, поэтому я думаю, что я могу устранить PHP из моих запросов.
Используя командную строку FTP в Ubuntu 10.10, я могу подключиться к своему FTP-серверу, войти в систему, просмотреть каталоги и т. Д. Однако, когда я пытаюсь перенести файл с локального компьютера на FTP-сервер с помощью «put», я получаю ошибка «553 Не удалось создать файл». Я получаю одинаковую ошибку в активном и пассивном режимах. Передача установлена в двоичный формат.
Когда я запускаю FileZilla на той же машине и подключаюсь к одному и тому же FTP-серверу, используя те же учетные данные, и пытаюсь перенести один и тот же файл в один и тот же каталог назначения, передача работает отлично, после перехода по умолчанию в двоичный и пассивный режим.
FWIW, PHP-скрипт (который представляет собой простой ftp_connect, ftp_login и ftp_put), использующий одни и те же детали, завершается неудачно с «Illegal PORT command», хотя я подозреваю, что это просто интерпретация PHP той же ошибки, которую я получаю из командной строки FTP. Опять же, эта ошибка возникает как в активном, так и в пассивном режимах FTP.