Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP';s FTP不是';在AmazonLinuxEC2实例上不工作?_Php_Ftp_Amazon Ec2_Amazon Web Services - Fatal编程技术网

PHP';s FTP不是';在AmazonLinuxEC2实例上不工作?

PHP';s FTP不是';在AmazonLinuxEC2实例上不工作?,php,ftp,amazon-ec2,amazon-web-services,Php,Ftp,Amazon Ec2,Amazon Web Services,我设置了一个m1.large EC2实例,并希望使用它从cdn服务器下载日志。我的ubuntu笔记本电脑上的代码运行正常,但一旦上传到服务器上,ftp_rawlist()函数就停止工作了。据我所知,代码仍在登录ftp服务器,但rawlist没有返回任何文件 以下是示例代码: <?php $FTP_USERNAME = 'username'; $FTP_PASSWORD = 'pass'; $FTP_SERVER = 'cdn.server'; $FTP_LOGDIR = 'log

我设置了一个m1.large EC2实例,并希望使用它从cdn服务器下载日志。我的ubuntu笔记本电脑上的代码运行正常,但一旦上传到服务器上,ftp_rawlist()函数就停止工作了。据我所知,代码仍在登录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);
?>
即使我知道目录不是空的

设置服务器时,我使用以下命令安装所有内容:

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
我甚至打开了安全组的所有端口,但即使如此,输出仍然是bool(false)。php-i显示ftp已启用


任何帮助都将不胜感激,我整天绞尽脑汁想弄明白这一点

需要在被动模式下运行它

ftp_pasv($conn_id, true);

嘿,布莱恩,你能给我建议一些解决办法吗?我也遇到了同样的问题。我收到“无法连接”消息。您在FTP服务器(弹性IP或公共DNS)中传递了什么?我的FTP密钥位于一个扩展名为.pem的文件中。我如何在php中传递它?
ftp_pasv($conn_id, true);