PHP에서 getenv와 서버의 차이점은 무엇입니까

WBOY
풀어 주다: 2023-03-16 18:58:01
원래의
1553명이 탐색했습니다.

PHP에서 getenv와 서버의 차이점: 1. getenv는 시스템 환경 변수를 얻을 수 있으며 구문은 "string getenv(string varname)"이고 "$_SERVER"는 서버 슈퍼 전역 변수 배열입니다. IIS를 지원하지 않음 isapi 모드에서 실행되는 PHP는 "$_SERVER"에서 지원됩니다.

PHP에서 getenv와 서버의 차이점은 무엇입니까

이 기사의 운영 환경: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터

PHP에서 getenv와 서버의 차이점은 무엇입니까?

getenv()와 $_SERVER의 사용법 차이 PHP에서:

getenv는 시스템 환경 변수를 가져옵니다. 환경 변수의 형식은 이름=값입니다.

구문: ​​

string getenv(string varname);
로그인 후 복사

반환 값: 문자열 함수 유형: PHP 시스템 함수

내용 설명

환경 변수 varname을 올바르게 가져오면 변수 값이 반환되고, 그렇지 않으면 false가 반환됩니다.

다음 예에서는 사용자의 브라우저가 있는 컴퓨터의 URL을 가져올 수 있습니다.

$ip = getenv(“REMOTE_ADDR”);
?>
로그인 후 복사

$_SERVER는 서버 슈퍼 전역 변수 배열입니다. $_SERVER['REMOTE_ADDR']을 사용하여 클라이언트의 IP 주소도 가져옵니다.

둘 사이의 차이점은 getenv가 IIS isapi 모드에서 실행되는 PHP를 지원하지 않는다는 것입니다.

지식 확장

PHP에서 IP 주소를 가져오지 못하는 함수 getenv("REMOTE_ADDR")$_SERVER['REMOTE_ADDR']간의 차이점 해결 > getenv(“REMOTE_ADDR”)$_SERVER['REMOTE_ADDR']的区别

最近用PHP帮朋友写了个用于投票的页面,一切都很顺利,装上后发现:访客IP地址没能记录上(没能成功获取IP地址),怪事,当初本地测试都好的呀。难不成本地和服务器有别,马上开个空间,测试,仍然一切正常。再一个个问题都排除后,了解到对方是windows下的iis,而自己测试都在apache上,很可能是这个原因。

马上更换函数:将原来的ip地址获取函数”getenv(“REMOTE_ADDR”)“更换为”$_SERVER['REMOTE_ADDR']

최근 친구의 투표 페이지 작성을 돕기 위해 PHP를 사용했는데 모든 것이 순조롭게 진행되었습니다. 설치한 후 방문자의 IP 주소가 기록되지 않는 것을 발견했습니다(IP 주소를 성공적으로 가져오지 못했습니다). . 로컬 테스트는 모두 괜찮았습니다. 로컬 컴퓨터가 서버와 다를 가능성이 있나요? 바로 공간을 열어서 테스트해 보니 여전히 정상입니다. 모든 문제를 해결한 후, 상대방은 Windows에서 IIS를 실행하고 있었지만 내 테스트는 모두 Apache에서 실행되었다는 사실을 알게 되었습니다.

함수 즉시 교체: 원래 IP 주소 획득 함수 "getenv("REMOTE_ADDR")"를 "$_SERVER['REMOTE_ADDR']"로 교체하고 덮어쓰고 업데이트합니다. , 데이터베이스를 다시 보면 IP 주소가 성공적으로 기록되었습니다.

이 문제가 다시 발생하므로 기록해 보겠습니다. 방문자의 IP 주소를 얻기 위한 PHP의 getenv("REMOTE_ADDR")와 $_SERVER['REMOTE_ADDR']의 차이점(*** 끝). 이를 통해 한 가지는 이미 매우 분명해졌습니다. getenv("REMOTE_ADDR") 함수는 Apache에서는 성공적으로 IP 주소를 얻을 수 있지만 iis에서는 전혀 효과가 없습니다. $_SERVER['REMOTE_ADDR'] 함수는 Apache에서 방문자의 IP 주소를 성공적으로 얻을 수 있지만 iis에서는 전혀 효과가 없습니다. 아래에도 유효합니다.

추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 getenv와 서버의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿