2
私はページにアクセスしているときにのみ表示されるデバッグウィンドウをコーディングする必要があります。私は私のIPを含むDDNSアドレスを持っています。このIPはサーバー上で尋ねられます。それとも尋ねるべきだと言うことができます。しかし解決の問題があります。gethostbynameを使用してIPを解決する
は、私が使用してIPを解決しようとした:
echo gethostbyname("google.com");
どんなに私が使用しているもののドメイン、それは常に失敗しないとのみ記載されているように、ドメインを返します。失敗した場合は、未変更のホスト名を含むIPv4アドレスまたは文字列を返します。
私も試してみました:
function getAddrByHost($host, $timeout = 3) {
$query = "nslookup -timeout=$timeout -retry=1 $host";
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
return trim($matches[1]);
return $host;
}
echo getAddrByHost("google.com");
この1つは同じ結果になります。私のPCのコマンドラインにnslookup -timeout=$timeout -retry=1 google.com
を実行すると問題なく動作します。しかし、これはスクリプトのために必要なので、これはまったく助けにならないでしょう:)
私は通常のIPv4アドレスを期待しています。
この機能には特別なphp.ini設定が必要ですか?
私の主な質問は、この機能が完全に壊れているかどうかです。
ロケーションヘッダーを検索できませんか? 'gethostbyname($ headers ['Location'])' – Pogrindis
と変数 '$ headers'はどこから来るべきですか? :D – Dwza
うん、 'get_headers'メソッドですが、実際にここでテストすると、どちらもうまくいきません! :| – Pogrindis