[英]Cannot connect to external FTPS server with php
我需要從位於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:// username:password@ftp.thehost.com/targetfile.gz”; 在第13行的/path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php中
當我使用底部的代碼塊時,出現以下錯誤:
警告:ftp_login()期望參數1為資源,在第16行的/path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php中給定的布爾值無法登錄。
我無權訪問日志文件afaik
我認為我們在這里沒有什么可以幫助您的。
Web服務器和FTP服務器之間沒有網絡連接。
請注意,這不一定是因為Web服務器尚未在FTP服務器上列入白名單。 Web服務器也可能不允許傳出連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.