ssl-phpで外部FTPSサーバーに接続できません
ftpサーバーにある.gzファイルからデータを抽出する必要があります。 FTPサーバーはIPホワイトリストで動作するため、両方とも承認されたローカルIPとWebサイトIP( gethostbyname
を使用してIPを取得)を送信しました。
ローカルでは、次のコードを実行してファイルにアクセスできます:
$url="ftp://username:[email protected]/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:[email protected]/targetfile.gz";の /path/to/my/website/folder/htdocs/mydomain.com/feeds/script.php on 13行目
コードの一番下のブロックを使用すると、次のエラーが発生します:
警告:ftp_login()は、パラメーター1がリソースであると想定しています。ブール値が指定されています /path/to/my/website/folder/htdocs/mydomain.com/feeds/script.phpにあります 16行目ログインできません。
ログファイルafaikにアクセスできません
答え :
解決策:
ここでお手伝いできることはあまりないと思います。
WebサーバーとFTPサーバーの間にネットワーク接続がありません。
WebサーバーがFTPサーバーにホワイトリストに登録されていないため、そうである必要はないことに注意してください。 Webサーバーが発信接続を許可していない可能性もあります。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。