PHP Cli FTP主被动方式的影响
某项目需要使用FTP上传文件。测试过程中,PHP在Cli模式下,FTP连接并传输很正常。但文件稍大便超时中断。
使用 Netstat -ano|findstr 'FTP服务器IP' 查看时,发现传输数据使用的是20端口,即表明默认使用了主动模式。此时,FTP服务器的20端口,会主动连接FTP客户端临时开启的端口传输数据。因为客户端一般有防火墙保护,所以导致传输不稳定或被终止。
此时,设置为被动方式的方法为:
ftp_pasv($conn,TRUE);
这样速度与稳定性都提高很多。