无法使用php连接到外部FTPS服务器



我需要从ftp服务器上的.gz文件中提取数据。FTP服务器使用IP白名单,所以我提交了我的本地IP和我的网站IP(我使用gethostbyname获得IP(,这两个IP都得到了批准。

在本地,我可以运行以下代码来访问文件:

$url="ftp://username:password@host/targetfile.gz";
$xml = simplexml_load_file("compress.zlib://$url") or die ("Cannot load file");

这运行得非常好,它允许我从XML文件中提取数据。

然而,当我在服务器上运行该脚本时,我没有获得连接。我联系了运行ftp服务器的管理员,他们告诉我他们只允许FTPS连接。

因此,我使用以下代码尝试建立连接:

$conn_id = ftp_ssl_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
if (!$login_result) {
die("Cannot login.");
}
echo ftp_pwd($conn_id); // /
// close the ssl connection
ftp_close($conn_id);

这也不连接。我对使用PHP和FTP的FTP连接是个新手,从这一点我不知道如何进行。

OpenSSL已启用。

有人能给我指正确的方向吗?

编辑:以下是错误消息:

当我使用顶部代码块时,会出现以下情况:

警告:simplexml_load_file((:I/O警告:无法加载外部实体"压缩。zlib://username:password@ftp.thehost.com/targetfile.gz";位于/路径/to/my/website/folder/htdocs/mydomain.com/feeds/script.php13号线

当我使用代码的底部块时,我会得到以下错误:

警告:ftp_login((要求参数1为资源,给定布尔值在/path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php上第16行无法登录。

我无法访问日志文件afaik

我认为我们在这里帮不了你什么。

web服务器和FTP服务器之间没有网络连接。

请注意,这不一定是因为web服务器没有在FTP服务器上列入白名单。web服务器也可能不允许传出连接。

最新更新