我正在连接到一个我无法控制的ftp服务器,而且我很确定使用的东西已经过时了,因为我遇到了其他问题。
我只是在循环中使用此代码来获取目录中的所有文件。
ftp_get($this->conn_id, $remote, $local, FTP_ASCII);
第一次一切顺利,但在那之后我为每个我试图获得的文件抛出了这个错误:“已经存在活动事务”
我尝试了被动和放大器。积极的,以及无阻碍的运气。这与我用来连接到其他FTP服务器并获得没有问题的文件的代码完全相同。
编辑:奇怪的是,关闭连接,休眠3秒,并在每次获取之间创建新连接会产生相同的结果......
编辑:解决了。事实证明,尽管有错误,文件仍然存在。 catch块只是捕获错误,所以我没有意识到。我会忽略那个错误。答案 0 :(得分:1)
尝试使用ftp_fget
代替并保存文件,然后再尝试获取另一个文件。
答案 1 :(得分:0)
似乎“已存在活动事务”可能意味着当您再次尝试使用该连接时,它仍在传输数据。也许在put之后使用sleep()函数并获得完成事务的时间,看看是否有所作为。你不应该为php做这个,但我会尝试将其排除在可能的问题之外。