PHP GAE中的ftp_nlist()有时无法正常工作。
我有一个计划任务(cron),它会定期检查远程FTP服务器是否有新事件并下载文件。是的,我使用的是ftp_pasv()。至少我想知道导致此错误的是什么,因为返回的错误是"未知"。
我一直看到的错误:
警告:ftp_nlist():bind()失败:未知错误4294967295(-1)在第28行的/base/data/home/apps/****/ftp.php中输入代码
这是代码,在这里输入代码
$ftp_server = '****';
$connection = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
if(ftp_login($connection, '***', '****')) {
ftp_pasv($connection, true);
$filesList = ftp_nlist($connection, '.');
print "<pre>"; print_r($filesList);
foreach($filesList as $f) {
$files = ftp_nlist($connection, $f);
print "<pre>"; print_r($files);
}
ftp_close($connection);
} else {
die('FTP Connection Failed');
}
如何解决此问题?
答案 0 :(得分:0)
你可以在GAE上使用这个命令,问题是ftp_nlist试图写入GAE的本地存储,这是不允许的。您可以尝试通过设置temp dir环境变量来通知它在Google云端存储中使用临时目录:
putenv(‘TMPDIR=gs://bucket_name_to_write_temporary_files_to/’); //you can also declare a subdirectory if you want.
在尝试任何ftp操作之前调用此方法。