ftp_put():php_connect_nonb()失败:没有这样的文件或目录(2)

时间:2018-12-06 17:49:34

标签: php ftp

多年以来,我一直在使用相同的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。

1 个答案:

答案 0 :(得分:0)

就其价值而言,这个完全相同的错误开始发生在我几个月没有修改的脚本上,恰好发生在12月6日。

我真的不知道我们的两种情况可能如何关联,除非我们共享同一主机,并且服务提供商(在我的情况下为OVH)更改了一些apache / php设置。否则,这是极不可能的巧合,因为看到其他人通过Google搜索得到此错误的例子很少而且相差甚远。

到目前为止,我还无法找到解决方案,但是我看到错误本身不是恒定的。它会在每次执行的foreach循环中的不同时间发生,这使我相信它可能与资源不足有关。

我的评论含糊不清,很抽象,我希望它可以在未修改的脚本中突然引起人们误以为是什么错误。