Php ftp\u登录在第二次尝试登录时失败?
我试图通过FTP下载大量文件。这导致了一个奇怪的警告Php ftp\u登录在第二次尝试登录时失败?,php,ftp,Php,Ftp,我试图通过FTP下载大量文件。这导致了一个奇怪的警告 警告:ftp\u get():获取数据连接。 我的解决方案是使用ftp_close注销,然后重新登录,代码如下所示,但是,这会导致警告 警告:ftp\u login():用户名可以,需要密码 问题是,当我收到之前的警告时,我使用的是完全相同的用户名和密码,到目前为止,我已经下载了几十个文件,因此用户名和密码是正确的。我也有代码打印凭据,只是为了确认它们是正确的,并且它们存在。还有其他人处理过这种警告组合吗 我用来登录的代码 /
警告: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可能不起作用。但是,我有另一个脚本,它运行相同的功能,可以很好地与此服务器配合使用。如果它同时使用相同的凭据运行,是否会导致问题?是的,如果服务器限制并发连接的数量,则可能会。您需要与服务器管理员联系。