PHP FTP 函数在我的生产服务器上不起作用


php ftp functions is not working on my production server

我在Mac上使用MAMP Pro作为我的开发环境。在这里,我使用来自Packagist的Touki''FTP包来处理FTP连接。

我在本地工作得很好,但是当我在我的生产环境中尝试它时,这是一个带有 Ubuntu 的 AWS EC2 服务器,安装了 Apache2 和 php5,但它不起作用。

当我使用phpinfo()时,我可以看到FTP扩展名已启用。

这是我的代码:

use Touki'FTP'Connection'Connection;
use Touki'FTP'FTPWrapper;
$connection = new Connection('host', 'user', 'pass');
$connection->open();
$wrapper = new FTPWrapper($connection);
$files = $wrapper->nlist("/myfolder");
foreach($files as $fileKey => $fileName) {
  $fileext = explode(".", $fileName);
  $ext = $fileext[sizeof($fileext)-1];
  if($ext == 'txt') {
    echo $fileName;
  }
}
$connection->close();

我想通了。它应该在生产环境中处于被动模式。所以我将$connection改为:

$connection = new Connection('host', 'user', 'pass', $port = 21, $timeout = 90, $passive = true);
$connection->open();

现在它完美运行。