Php ftp\u登录在第二次尝试登录时失败?

Php ftp\u登录在第二次尝试登录时失败?,php,ftp,Php,Ftp,我试图通过FTP下载大量文件。这导致了一个奇怪的警告 警告:ftp\u get():获取数据连接。 我的解决方案是使用ftp_close注销,然后重新登录,代码如下所示,但是,这会导致警告 警告:ftp\u login():用户名可以,需要密码 问题是,当我收到之前的警告时,我使用的是完全相同的用户名和密码,到目前为止,我已经下载了几十个文件,因此用户名和密码是正确的。我也有代码打印凭据,只是为了确认它们是正确的,并且它们存在。还有其他人处理过这种警告组合吗 我用来登录的代码 /

我试图通过FTP下载大量文件。这导致了一个奇怪的警告

警告:ftp\u get():获取数据连接。

我的解决方案是使用ftp_close注销,然后重新登录,代码如下所示,但是,这会导致警告

警告:ftp\u login():用户名可以,需要密码

问题是,当我收到之前的警告时,我使用的是完全相同的用户名和密码,到目前为止,我已经下载了几十个文件,因此用户名和密码是正确的。我也有代码打印凭据,只是为了确认它们是正确的,并且它们存在。还有其他人处理过这种警告组合吗

我用来登录的代码

        //Attempt to connect and login to the server
        if (!$this->oFTP = ftp_connect($this->cHost)) {
            exit("\n<br>COULD NOT CONNECT TO SERVER: $this->cHost");
        } else {
            echo "\n<br>CONNECTION SUCESSFUL: $this->cHost";
            if(!ftp_login($this->oFTP, $this->cFtpUserName, $this->cFtpUserPass)){
                exit("\n<br>LOGIN FAILURE!: $this->cFtpUserName, $this->cFtpUserPass");
            } else {
                echo "\n<br>LOGIN SUCESSFUL: $this->cFtpUserName";
            }
        }

        //Make sure we are using the correct ip address
        ftp_set_option($this->oFTP, FTP_USEPASVADDRESS, false);

        //Allows us to retrive files
        ftp_pasv($this->oFTP,true);
//尝试连接并登录到服务器
如果(!$this->oFTP=ftp\u connect($this->cHost)){
退出(“\n
无法连接到服务器:$this->cHost”); }否则{ echo“\n
连接成功:$this->cHost”; 如果(!ftp_login($this->oFTP,$this->cFtpUserName,$this->cFtpUserPass)){ 退出(“\n
登录失败!:$this->cFtpUserName,$this->cFtpUserPass”); }否则{ echo“\n
登录成功:$this->cFtpUserName”; } } //确保我们使用的是正确的ip地址 ftp\u set\u选项($this->oFTP,ftp\u USEPASVADDRESS,false); //允许我们检索文件 ftp_pasv($this->oFTP,true);
编辑:


在一些人问到这一点后,我回顾了我的连接日志,看起来这可能实际上并没有通过ftp_get获得任何文件。我有另一个脚本,它使用相同的登录凭据运行完全相同的函数,因此我知道它正在工作。如果在同一时间运行,这可能是一个问题吗?

ftp\u put
之后有什么工作吗?您是否尝试过一些简单的方法,例如
ftp\u size
?+“并重新登录”-您是否只需使用
ftp\u登录
?或者您是否也使用
ftp\u connect
重新连接?+您是否能够捕获PHP和服务器之间的通信(例如,使用Wireshark)?或者您有权访问FTP服务器日志文件吗?+您是否能够使用连接到同一服务器的任何FTP客户端上载多个文件?你能给我们看一下它的日志文件吗?我再次运行了问题中显示的函数。我运行ftp_connect并成功连接。它在此函数中显示ftp_登录时的警告。如果我尚未登录,是否可以运行其他功能?我没有任何方法可以轻易地获得沟通。你知道有什么函数可以在代码运行时打印这些信息吗?我在问
ftp\u size
在第一次连接中
ftp\u put
后是否工作PHP FTP模块不提供任何日志。这就是为什么我要另一份日志你没有回答我所有的问题。这是一个ftp\u不能放的问题。此外,查看日志,我认为get可能不起作用。但是,我有另一个脚本,它运行相同的功能,可以很好地与此服务器配合使用。如果它同时使用相同的凭据运行,是否会导致问题?是的,如果服务器限制并发连接的数量,则可能会。您需要与服务器管理员联系。在
ftp\u put
之后,有什么工作吗?您是否尝试过一些简单的方法,例如
ftp\u size
?+“并重新登录”-您是否只需使用
ftp\u登录
?或者您是否也使用
ftp\u connect
重新连接?+您是否能够捕获PHP和服务器之间的通信(例如,使用Wireshark)?或者您有权访问FTP服务器日志文件吗?+您是否能够使用连接到同一服务器的任何FTP客户端上载多个文件?你能给我们看一下它的日志文件吗?我再次运行了问题中显示的函数。我运行ftp_connect并成功连接。它在此函数中显示ftp_登录时的警告。如果我尚未登录,是否可以运行其他功能?我没有任何方法可以轻易地获得沟通。你知道有什么函数可以在代码运行时打印这些信息吗?我在问
ftp\u size
在第一次连接中
ftp\u put
后是否工作PHP FTP模块不提供任何日志。这就是为什么我要另一份日志你没有回答我所有的问题。这是一个ftp\u不能放的问题。此外,查看日志,我认为get可能不起作用。但是,我有另一个脚本,它运行相同的功能,可以很好地与此服务器配合使用。如果它同时使用相同的凭据运行,是否会导致问题?是的,如果服务器限制并发连接的数量,则可能会。您需要与服务器管理员联系。