我试图让 php 的 ftp 方法在虚拟机中工作。我可以使用 ftp_connect 进行连接,但之后实际上什么都不做。
主机:Ubuntu 14.10 嘉宾:Debian 7 堆栈:Vagrant - VirtualBox - Debian - LAMP
我正在使用 vagrant 来运行运行灯组的虚拟机 VM。在 php 中,我正在运行一些不起作用的方法调用(ftp_pasv、ftp_nlist)。 我发现由于 FTP 协议(protocol)使用随机端口进行连接,问题是由在 virtualbox 中使用 NAT 网络引起的。除了这个问题,我有完美的 vagrant-virtualbox 设置。有谁知道在这种情况下让 ftp 在 guest 操作系统上工作的方法。我知道我可以尝试使用桥接设置,但这意味着需要做更多的设置工作,并且机器将对公众开放。所以我更愿意尝试让它在 NAT 后面工作。
我也曾尝试使用 ftp_pasv 来打开被动模式,这将解决问题。但是当我调用它来打开被动模式时,该方法返回 false。
最佳答案
据我所知这是不可能的。也许如果您想破解一些源代码并编译自定义解决方案,它会起作用。但这比仅仅使用不同的设置更难。我已经使用 curl 来建立 ftp 连接。这适用于列出文件并下载它们。
遇到此问题并实际找到解决方案的任何人请在此处发布。
关于php - 是否可以使用 NAT 网络让 FTP 在 VirtualBox 中工作,或者让 php 的 ftp 函数工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990086/