php - 什么时候使用 ftp_pasv?

标签 php ftp

<分区>

什么时候应该将 ftp_pasv 设置为 TRUE?我可以一直这样做吗?如果不需要,我有没有办法以编程方式确定服务器是否需要它?

最佳答案

被动模式主动模式是初始化与FTP服务器的数据连接的两种方式。

当处于被动模式时,您的 FTP 客户端使用 PASV 命令请求连接到 FTP 服务器的端口。服务器回复一个大数字,就是IP和PORT,可以建立连接(FTP客户端-你-初始化连接)

当处于事件模式时,您的 FTP 客户端使用 PORT 命令告诉 FTP 服务器它应该连接哪个端口(服务器初始化连接)。

因此,没有“方法”来确定要使用的方法。这取决于您的 FTP 服务器功能和您的情况。

首先,您必须检查您的 FTP 服务器是否接受两种模式,activepassive

其次,作为客户端,您必须检查您是否在 NAT 路由器后面。如果是这种情况,那么使用被动模式会更容易(因为这是您的 FTP 客户端,它将初始化连接)。在其他情况下,您将需要进行一些路由器配置...

以编程方式,您可以尝试使用PASV 初始化数据连接并检查服务器响应。根据响应代码,您应该能够知道是否必须切换模式。

关于php - 什么时候使用 ftp_pasv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16026619/

相关文章:

php - shell_exec 不显示任何 PHP

java - Apache Mina Java FTP 服务器实现 - 客户端卡在等待欢迎消息

excel - 从 FTP 服务器获取 excel 文件并保存在 Google Drive

linux - 无法解压文件?

java - 为什么通过套接字传输数据后,文件中的数据丢失了?

PHP ffmpeg exec 返回 null

php - 自动按计划打印 pdf

php - 视频不流mysql php

php - 将 token 放在 URL 中是否安全以防止 PHP 应用程序中的 CSRF 攻击?

macos - 如何使用 amazon ec2 实例设置我的 mac ftp 客户端?