我正在尝试在 Heroku 中进行非常基本的 ftp 阅读。
$ftp = ftp_connect($config['domain']);
$login = ftp_login($ftp,$config['ftp_user'],$config['ftp_pass']);
ftp_pasv($ftp, true);
$contents = ftp_nlist($ftp, "/");
for ($i = 0 ; $i < count($contents) ; $i++)
echo "<li>" . substr($contents[$i],1) . "</li>";
ftp_close($ftp);
2015-05-19T07:26:01.678102+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=xxx-ftp.herokuapp.com request_id=xxxxx-364a-48f8-8e2a-383affb0789f fwd="xx.12.8.106" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0
2015-05-19T07:26:31.739770+00:00 app[web.1]: [Tue May 19 07:26:31.738789 2015] [proxy_fcgi:error] [pid 186:tid 140199224919808] (70007)The timeout specified has expired: [client 10.127.183.84:42907] AH01075: Error dispatching request to : (polling)
2015-05-19T07:26:31.853475+00:00 app[web.1]: [19-May-2015 07:26:31 UTC] PHP Warning: ftp_nlist(): php_connect_nonb() failed: Operation now in progress (115) in /app/list.php on line 26
PASIVE
模式PWD
的其他基本命令正常运行ftp_nlist($conn,"/MyFolder");
答案 0 :(得分:0)
这似乎适用于ftp.mozilla.org
例如:
$ftp = ftp_connect('ftp.mozilla.org');
$login_result = ftp_login($ftp, 'anonymous', '');
ftp_pasv($ftp, true);
var_dump(ftp_nlist($ftp, "/pub/mozilla.org/"));
您是否可能在目标FTP后面使用https://bugs.php.net/bug.php?id=55651进入NAT?