Я хочу подключиться к FTP с помощью PHP для загрузки сгенерированных отчетов. Согласно удаленному серверу, FTP должен быть в АКТИВНОМ режиме.
это мой код:
ini_set('display_errors', '1');
error_reporting(E_ALL);
$conn_id = ftp_connect('myftpserver.com', 21);
if($conn_id)
{
// login with username and password
$login_result = ftp_login($conn_id, 'mysuer', 'password');
$passive = ftp_pasv($conn_id,FALSE);
echo "is active?<br/>";
var_dump($passive);
echo 'Login Result:';
var_dump($login_result);
$files_list = ftp_nlist($conn_id, '/MyFolder/');
echo "<br/>files list ";
var_dump($files_list);
}
else
{
var_dump('Unable to connect to FTP Server');
}
Когда я запускаю его с локального компьютера или обычного общего сервера, я могу получить список, но не могу запустить скрипт из своего экземпляра AWS AMI. Для тестирования я даже открыл весь входящий трафик. Все еще не повезло. Кроме того, суть в том, что если я попытаюсь использовать некоторые другие детали ftp, я смогу получить ответ ftp_nlist
. Но не для этого. Я попробовал это на 3 экземплярах AWS до сих пор. Дали тот же результат.
Все, что я могу сказать, это то, что это где-то проблема в моей группе безопасности сервера / брандмауэре. Но не в состоянии понять это. Пожалуйста, помогите.
Ответ, который я получаю с сервера:
is active
bool(true)
Login Result:bool(true)
files list bool(false)