无法使用php

时间:2018-07-27 19:11:11

标签: php ssl ftp ftps

我需要从ftp服务器上的.gz文件中提取数据。 FTP服务器可以使用IP白名单,因此我提交了我的本地IP和网站IP(我用gethostbyname来获取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警告:无法加载外部   实体   “ compress.zlib://用户名:密码@ ftp.thehost.com / targetfile.gz”;在   /path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php在   第13行

当我使用底部的代码块时,出现此错误:

  

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

我无权访问afaik日志文件

1 个答案:

答案 0 :(得分:0)

我认为我们在这里没有什么可以帮助您的。

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

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