php - Команда ftp_nlist не работает
(1)
Я использую следующий код ↓ для подключения к FTP-серверу и получения списка файлов. Это работает нормально на моей локальной машине (Fedora 11), но не на производстве (под управлением Ubuntu), где метод ftp_nlist возвращает false
$ftpInfo = array('directory' => 'somewebsite.com',
'user' => 'someuser',
'password' => 'somepass',
'port' => 21,
'timeout' => 30);
$connectionId = ftp_connect($ftpInfo['directory'],
$ftpInfo['port'],
$ftpInfo['timeout']);
$loginResult = ftp_login($connectionId, $ftpInfo['user'], $ftpInfo['password']);
$files = ftp_nlist($connectionId, '.');
var_dump($files);
ftp_close($connectionId);
Возвращает массив файлов на моей машине и false на производстве.
Что особенно раздражает, так это то, что в обоих случаях ему удается подключиться, войти в систему и успешно.
var_dump($loginResult);
возвращается
bool(true)
https://code.i-harness.com
Оказывается, это было связано с настройкой брандмауэра сервера. Перешел в пассивный режим после входа в систему и все работало нормально.
ftp_pasv($connectionId, true);