Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ftp_已经工作了一个月,现在已经停止了吗?_Php_Upload_Ftp - Fatal编程技术网

Php ftp_已经工作了一个月,现在已经停止了吗?

Php ftp_已经工作了一个月,现在已经停止了吗?,php,upload,ftp,Php,Upload,Ftp,Hi具有以下语法: $source = $csv_filename; $target = '/locexport/'.$csv_filename; $conn = ftp_connect("ftp.server.com") or die("Could not connect"); ftp_login($conn, "ftpusername", "ftppassword"); ftp_pasv($conn, false); $upload = ftp_put($conn, $target

Hi具有以下语法:

$source = $csv_filename;  
$target = '/locexport/'.$csv_filename;
$conn = ftp_connect("ftp.server.com") or die("Could not connect");
ftp_login($conn, "ftpusername", "ftppassword");

ftp_pasv($conn, false); 

$upload = ftp_put($conn, $target, $source, FTP_ASCII);
if (!$upload) { echo 'FTP upload failed!'; }
这个脚本每隔几个小时运行一次cron作业,已经运行了几个月

它突然停止工作了

回显$source和$destination将显示正确的路径

错误消息是:

Warning: ftp_put() [function.ftp-put]: Opening ASCII mode data connection. in /home/shareduser/public_html/export/export.php on line 55
FTP upload failed!
第55行是:

 $upload = ftp_put($conn, $target, $source, FTP_ASCII);
我曾尝试将FTP_ASCII更改为FTP_二进制,但结果相同

任何IDE如何对此进行故障排除?这不是权限问题,因为使用相同凭据的Filezilla中的手动传输成功


感谢和问候。

您可以尝试切换到被动模式(将其设置为
true
):


可能目标的防火墙发生了变化。

这里也有类似的问题,但我得到的警告是:
ftp\u fput():接受的数据连接

使用FTP_二进制,FTP_ASCII 使用被动/主动模式,运气不佳。 可能是虫子吗?看

编辑: 找到了一个解决方法,不确定它是否适用于任何人,因为它涉及SSL连接,但糟糕的是,它在上次PHP更新(更新为5.6.14)之前工作正常


解决方案:不要使用
ftp\u ssl\u connect
而是使用
ftp\u connect
谢谢。我确实试过这个,对不起,应该在问题中提到它,没有运气和问题仍然存在?如何排除故障?谢谢。您是否尝试使用FTP程序只是为了查看您是否可以连接并有权写入文件?谢谢。是的,我试过了,用同样的ftp凭证用filezilla进行了手动传输,效果100%。只是php组件失败了,我不知道为什么。再次感谢。嗨,是的,我用filezilla和100%进行了手动转移。将此脚本移动到另一台服务器,它工作正常,因此这是我的托管服务器的问题,而不是ftp服务器或脚本。谢谢你的时间,这帮我解决了。我正在处理FTP备份代码,该代码在碰撞PHP版本后停止工作。使用
ftp登录后启用被动模式成功。
ftp_pasv($conn, true);