ホームページ > バックエンド開発 > PHPチュートリアル > PHP でサーバー IP アドレスを正確に取得する方法、php_PHP チュートリアルでサーバー IP を取得する

PHP でサーバー IP アドレスを正確に取得する方法、php_PHP チュートリアルでサーバー IP を取得する

WBOY
リリース: 2016-07-13 09:51:54
オリジナル
935 人が閲覧しました

PHPでサーバーのIPアドレスを正確に取得する方法、phpでサーバーのIPアドレスを取得する方法

この記事では、PHPでサーバーのIPアドレスを正確に取得する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

PHP では、通常、$_SERVER['HTTP_HOST'] を使用して、URL 内の Web サイトのドメイン名または IP アドレスを取得します。

PHPマニュアルの説明は以下の通りです。

「HTTP_HOST」

ホストの内容: 現在のリクエストのヘッダー情報。

一般的に、この方法で問題が発生することはありません。PFC3 や FLEA などの一部の一般的な PHP フレームワークも、この事前定義された変数に基づいています。

しかし、最近取り組んでいたプロジェクトで、テストのためにプログラムを顧客に渡すときに、プログラムのジャンプが常に失敗することがわかりました。

最後に理由を見つけます: お客様の環境では、$_SERVER['HTTP_HOST'] によって取得される値は常に、LAN 内でプログラムが配置されているサーバーの IP 値です。

その理由は、お客様の会社がサーバーを介してインターネットに接続されており、プログラムが配置されているサーバーがドメイン名を介してマッピングされているためです。つまり、途中に「プロキシ」プロセスが存在します。

したがって、そのような環境では、$_SERVER['HTTP_HOST'] によって取得される値は常に、LAN 内でプログラムが配置されているサーバーの IP 値になります。

最後に、多くの情報を確認し、symfony フレームワークでの代替実装方法を見つけました:

次のようにコードをコピー: $host = $_SERVER['HTTP_HOST']; 次のように置き換えます:

コードをコピー コードは次のとおりです: $host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER[' HTTP_HOST'] : ''); この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/1011249.html

本当http://www.bkjia.com/PHPjc/1011249.html技術記事 PHPでサーバーのIPアドレスを正確に取得する方法、phpでサーバーのIPアドレスを取得する方法 この記事では、PHPでサーバーのIPアドレスを正確に取得する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート