> 백엔드 개발 > PHP 튜토리얼 > PHP_php 팁으로 서버 IP 주소를 정확하게 얻는 방법

PHP_php 팁으로 서버 IP 주소를 정확하게 얻는 방법

WBOY
풀어 주다: 2016-05-16 20:14:37
원래의
957명이 탐색했습니다.

이 기사의 예에서는 PHP를 사용하여 서버 IP 주소를 정확하게 얻는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

PHP에서는 일반적으로 $_SERVER['HTTP_HOST']를 사용하여 URL에 있는 웹사이트의 도메인 이름이나 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 프로그래밍 설계에 도움이 되기를 바랍니다.
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿