使用PHP构建的FTP客户端FileZIller服务器失败

时间:2016-05-20 12:28:44

标签: php ftp

我已经下载了ZF2,我正在使用nicolab/php-ftp-client库。此库与我们的登台服务器一起使用,但问题在于本地配置的FTP服务器。如果我使用的是FileZille Client,我可以输入本地文件服务器,但不能输入PHP。

以下是我在其中一个测试类中的一行:

$handler = $this->ns->connect( '127.0.0.1:54218' )->login( '***', '***' );

当然,该行可以与远程服务器一起使用,但可以使用本地服务器。

PHPUnit给出了以下错误:

$ vendor/bin/phpunit
PHPUnit 5.3.4 by Sebastian Bergmann and contributors.

.E                                                    2 /(100%)

Time: 2.59 seconds, Memory: 8.25MB

There was 1 error:

  1) ApplicationTest\Service\RemoteClientConnectionTest::testRemoteClientConnection
     FtpClient\FtpException: Unable to connect

D:\web\www2\zend-file-manager\vendor\nicolab\
  php-ftp-client\src\FtpClient\FtpClient.php:162
D:\web\www2\zend-file-manager\module\SparkleRemoteClient\test\
 SparkleRemoteClientTest\Service\RemoteClientConnectionTest.php:22

FAILURES!
Tests: 2, Assertions: 1, Errors: 1.

同时FileZille客户端给我这个输出:

Status: Connecting to 127.0.0.1:54218...
Status: Connection established, waiting for welcome message...
Status: Logged in
Status: Retrieving directory listing...
Status: Directory listing of "/" successful

我正在为我们的客户端使用Zend构建一个文件管理器,我需要在本地设置一个FTP服务器,这样我就不会冒着使用staging和/或者生存错误的风险。

期待听到我在这里失踪的内容。

1 个答案:

答案 0 :(得分:2)

请检查功能定义

public function connect($host, $ssl = false, $port = 21, $timeout = 90)

所以你需要使用像

这样的东西
$handler = $this->ns->connect('127.0.0.1',false,54218)->login( '***', '***' );