PHP的FTP不适用于Amazon Linux EC2实例?

我设置了一个m1.large EC2实例,并希望使用它来从cdn的服务器上下载日志。 我的代码在我的ubuntu笔记本电脑上工作得很好,但是一旦上传到服务器,ftp_rawlist()函数就停止工作。 据我可以告诉代码仍然login到FTP服务器,但rawlist没有返回任何文件。

这里是示例代码:

<?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); ?> 

和输出是这样的:

 bool(false) 

即使我知道该目录不是空的。

设置服务器时,这些是我用来安装一切的命令:

 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 

我甚至打开了安全组的所有端口,但即使如此,输出仍然是布尔(错误)。 和php -i显示,ftp已启用。

任何帮助将不胜感激,我一直在绞尽脑汁,试图找出这一点。

需要以被动模式运行

ftp_pasv($ conn_id,true);