phplist のインストールから gmail pop サーバーに接続しようとして失敗しましたが、Web ホストがポート 995 を開いたかどうかわかりません。彼らはそれを開いたと言いますが、私は疑わしいです。PHPスクリプトから確認する方法はありますか?Windowsサーバーでphp 5.2.0を実行していますが、それがどのOSかはわかりません。phpinfo() で「Windows NT DEDI514 5.2 ビルド 3790」と表示される
3 に答える
phpスクリプトにコードを挿入して、特定のホスト名(またはIPアドレス)とポートへの接続を開くことができます。期待される応答がわかっている場合は、接続を取得しているかどうかを確認できるはずです。「接続が拒否されました」などのメッセージが表示された場合は、ブロックされているか、宛先ホストがそのポートでの接続を受け入れていません。
この例では、IPアドレス192.0.2.0とポート995を使用しています。これらをテストするものに置き換えてください。
<?php
echo "\nOpening connection\n\n";
$fp = fsockopen("192.0.2.0", 995, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr\n";
} else {
echo fread($fp, 1024);
fclose($fp);
}
?>
を使用してサーバーにデータを送信することもできます
fwrite($fp, "blah blah blah\r\n");
fsockopenの詳細については、こちらをご覧ください。
そのポートで応答するマシンに ping または traceroute する必要があると思います。
この記事には知りたいことがたくさんありますが、最後にサンプル スクリプトがあり、それを変更してテストできます。
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=8&txtCodeId=1786
ここには他のスクリプトがいくつかあります: http://www.theworldsend.net/
個人的にこれらのいずれかを保証することはできませんが、必要なもののように見えます.
もちろん、サーバーに ssh または telnet で接続できる場合は、ping および traceroute コマンドを使用して、これらすべてをより簡単に実行できます。
セーフモードが有効になっているのではないでしょうか?これにより、他のサーバーでサービスを呼び出すことができなくなります。
編集:すべてのファイルシステムとストリーム機能は、セーフモード設定の影響を受けます!
open_basedir
設定は fopen() に影響します!