<分区>
什么时候应该将 ftp_pasv 设置为 TRUE?我可以一直这样做吗?如果不需要,我有没有办法以编程方式确定服务器是否需要它?
<分区>
什么时候应该将 ftp_pasv 设置为 TRUE?我可以一直这样做吗?如果不需要,我有没有办法以编程方式确定服务器是否需要它?
最佳答案
被动模式
和主动模式
是初始化与FTP服务器的数据连接的两种方式。
当处于被动模式
时,您的 FTP 客户端使用 PASV
命令请求连接到 FTP 服务器的端口。服务器回复一个大数字,就是IP和PORT,可以建立连接(FTP客户端-你-初始化连接)
当处于事件模式
时,您的 FTP 客户端使用 PORT
命令告诉 FTP 服务器它应该连接哪个端口(服务器初始化连接)。
因此,没有“方法”来确定要使用的方法。这取决于您的 FTP 服务器功能和您的情况。
首先,您必须检查您的 FTP 服务器是否接受两种模式,active
和 passive
。
其次,作为客户端,您必须检查您是否在 NAT 路由器后面。如果是这种情况,那么使用被动模式会更容易(因为这是您的 FTP 客户端,它将初始化连接)。在其他情况下,您将需要进行一些路由器配置...
以编程方式,您可以尝试使用PASV
初始化数据连接并检查服务器响应。根据响应代码,您应该能够知道是否必须切换模式。
关于php - 什么时候使用 ftp_pasv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16026619/