O FTP do PHP não está funcionando na instância do Amazon linux EC2?

2

Eu configurei uma instância do m1.large EC2 e quero usá-la para baixar os logs do servidor de um cdn. Eu tinha o código funcionando muito bem no meu laptop Ubuntu, mas uma vez carregado para o servidor a função ftp_rawlist () parou de funcionar. Tanto quanto eu posso dizer o código ainda está entrando no servidor ftp mas rawlist não está retornando nenhum arquivo.

aqui está o código de exemplo:

<?php

$FTP_USERNAME = 'username';
$FTP_PASSWORD = 'pass';
$FTP_SERVER   = 'cdn.server';
$FTP_LOGDIR   = 'logs';

$conn_id = ftp_connect($FTP_SERVER) or die('Couldn\'t connect to '.$FTP_SERVER);

if(!ftp_login($conn_id, $FTP_USERNAME, $FTP_PASSWORD)) {
        die('Couldn\'t connect as '.$FTP_USERNAME);
}

ftp_chdir($conn_id, $FTP_LOGDIR);

$rawlist = ftp_rawlist($conn_id, '.');

ftp_close($conn_id);

var_dump($rawlist);
?>

e a saída é esta:

bool(false)

mesmo sabendo que o diretório não está vazio.

Ao configurar o servidor, estes são os comandos que eu usei para instalar tudo:

sudo yum install php
sudo yum install php-mysql
sudo yum install php-pear
sudo pear channel-discover pear.amazonwebservices.com
sudo pear install aws/sdk

Eu até abri todas as portas para o grupo de segurança, mas mesmo assim a saída ainda estava bool (false). E php -i mostra que o ftp está ativado.

Qualquer ajuda seria muito apreciada, estive quebrando meu cérebro o dia todo tentando descobrir isso.

    
por Brian 08.12.2011 / 00:29

1 resposta

2

Necessário para executá-lo no modo passivo

ftp_pasv ($ conn_id, true);

    
por 08.12.2011 / 19:08