嗨有以下语法:
$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!'; }
Run Code Online (Sandbox Code Playgroud)
该脚本每隔几个小时运行一次 cron 作业,并且已经运行了数月。
它突然停止工作。
echo $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!
Run Code Online (Sandbox Code Playgroud)
第 55 行是:
$upload = ftp_put($conn, $target, $source, FTP_ASCII);
Run Code Online (Sandbox Code Playgroud)
我曾尝试将 FTP_ASCII 更改为 FTP_BINARY,但结果相同。
任何ide如何解决这个问题?这不是权限问题,因为使用相同凭据在 Filezilla 中手动传输成功。
感谢致敬。
您可以尝试切换到被动模式(将其设置为true):
ftp_pasv($conn, true);
Run Code Online (Sandbox Code Playgroud)
也许目的地的防火墙发生了一些变化。
| 归档时间: |
|
| 查看次数: |
2813 次 |
| 最近记录: |