我的Php代码是,在aws服务器上有一些错误
$conn_id = ftp_connect("SERVERIP");
$ftp_user_name = "username";
$ftp_user_pass = "password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// login with username and password
ftp_put($conn_id,$target_dir, $_FILES["UploadedImage"]["tmp_name"], FTP_BINARY);
当我从aws服务器发送请求时出现以下错误,似乎有一些问题需要获取ftp文件夹
状态:日期:星期三,2017年3月22日08:09:16 GMT Last-Modified:Wed,22 Mar 2017 08:09:16 +0000服务器:Apache / 2.2.21(Win32)PHP / 5.3.10 X-Powered-作者:PHP / 5.3.10 ETag:“1490170156”Content-Language:zh_cn Access-Control-Allow-Origin:* Cache-Control:no-cache,must-revalidate,post-check = 0,pre-check = 0 Connection :Keep-Alive Content-Type:text / html Keep-Alive:timeout = 5,max = 100 Content-Length:68 Expires:Sun,19 Nov 1978 05:00:00 GMT Check Internet Connection / Router。联系本地管理员
您并没有真正为我们提供可用于识别问题的大量信息。
无论如何,您正在使用主动FTP模式。由于无处不在的防火墙和NAT,现在主动FTP模式几乎不起作用。特别是NATted中的AWS网络。通常,您应始终使用被动FTP模式。
有关详细信息,请参阅我在FTP active and passive modes上的文章。
在PHP中,通过在ftp_pasv
之后调用ftp_connect
(或ftp_login
,如果你使用它)切换到被动模式。
$conn_id = ftp_connect("SERVERIP");
$ftp_user_name = "username";
$ftp_user_pass = "password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// turn passive mode on
ftp_pasv($conn_id, true);