Я работаю с каким-то сайтом. Есть скрипт, который отправляет файл на FTP-сервер. Сценарий выполняется полностью, и это не должно быть из-за неверных учетных данных. Вот фрагмент кода из скрипта:
// FTP
$host = 'ftp.some.com';
$user = 'user1';
$pass = 'tes22';
$conn = ftp_connect($host, 21) or die ("Cannot connect to host");
ftp_login($conn, $user, $pass) or die("Cannot login");
echo 'it is shown and shouldn\'t be';
Реальные учетные данные, конечно, разные, но они плохие (я не могу подключиться к этому FTP через Filezilla или даже пропинговать его. Поэтому сервер должен вернуть сообщение «Не удается подключиться к хосту» из метода die (), но это не так. ‘t -> echo выполняется. Как отладить что-то подобное? Какие могут быть некоторые проблемы такого поведения?
Я пытался выполнить этот фрагмент. В строке 8 вы пытаетесь войти или умереть. Но, ftp_login
? в случае ошибки выдает предупреждение php. Пример в psysh:
>>> ftp_login($conn, $user, $pass) or die("Cannot login");
PHP warning: ftp_login(): Login incorrect. on line 1
Итак, второй операнд после or
не должно работать, потому что ftp_login
выдает ошибку.
Других решений пока нет …