多年以来,我一直在使用相同的FTP上传脚本,几天后出现以下错误:
ftp_put():php_connect_nonb()失败:没有这样的文件或目录(2) ftp_put():类型设置为I in
这是我的脚本:
$conn_id=@ftp_connect('host', 21, 5);
$login_result=@ftp_login($conn_id, user, pass);
if($conn_id && $login_result) {
// turn passive mode on
ftp_pasv($conn_id, true);
//a4
ftp_chdir($conn_id, $type);
//upload
$upload=ftp_put($conn_id, basename($file), $file, FTP_BINARY);
//close this connection
ftp_close($conn_id);
}
当我禁用被动模式时,会出现以下错误:
ftp_put():打开文件上传到“文件名”服务器的数据通道
我还尝试将传输模式设置为FTP_ASCII。
有帮助吗?哦:远程服务器是FileZilla Server。
答案 0 :(得分:0)
就其价值而言,这个完全相同的错误开始发生在我几个月没有修改的脚本上,恰好发生在12月6日。
我真的不知道我们的两种情况可能如何关联,除非我们共享同一主机,并且服务提供商(在我的情况下为OVH)更改了一些apache / php设置。否则,这是极不可能的巧合,因为看到其他人通过Google搜索得到此错误的例子很少而且相差甚远。
到目前为止,我还无法找到解决方案,但是我看到错误本身不是恒定的。它会在每次执行的foreach循环中的不同时间发生,这使我相信它可能与资源不足有关。
我的评论含糊不清,很抽象,我希望它可以在未修改的脚本中突然引起人们误以为是什么错误。