티스토리 뷰

프로그램개발

[PHP] $_SERVER 환경변수

인생참!! 2024. 3. 29. 16:52
728x90

$_SERVER 환경변수 정리

환경변수(Environment Vaiable) : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동작인 값들의 모임.

$_SERVER['PHP_SELF']
// 현재 실행중인 스크립트 파일명
// /test/test.php

$_SERVER['GATEWAY_INTERFACE']
// 서버가 스크립트와 통신하기 위해 사용하는 CGI 스펙의 버전
// CGI/1.1

$_SERVER['SERVER_ADDR']
// 스크립트가 실행중인 서버의 IP 주소
// 118.200.211.111

$_SERVER['SERVER_NAME']
// 스크립트가 실행중인 서버 호스트의 이름
// 스크립트가 가상 호스트에서 실행중인 경우 가상 호스트에 대해 정의된 값
// 77kkang.tistory.com

$_SERVER['SERVER_SOFTWARE']
// 웹서버 프로그램의 이름과 버전
// Apache

$_SERVER['SERVER_PROTOCOL']
// 요청이 사용하는 프로토콜의 이름과 버전
// HTTP/1.1

$_SERVER['REQUEST_METHOD']
// 페이지에 액세스하는데 사용된 요청방법
// GET, HEAD, POST, PUT

$_SERVER['REQUEST_TIME']
// 요청 시작 Timestamp
// 1711073795

$_SERVER['REQUEST_TIME_FLOAT']
// 요청 시작 마이크로초 정밀도의 Timestamp
// 1711073795.682

$_SERVER['QUERY_STRING']
// 페이지에 액세스한 쿼리 문자열(경로 뒤의 요청 URL에 포함된 조회 문자열)
// test1=aa&test2=bb

$_SERVER['DOCUMENT_ROOT']
// 서버의 구성 파일에 정의된 현재 스크립트가 실행되고 있는 문서 루트 디렉토리
// /home/test/www

$_SERVER['HTTP_ACCEPT']
// 현재 요청의 Accept 헤더 내용
// 브라우저가 지원하는 내용유형을 지정함.
// text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,....

$_SERVER['HTTP_ACCEPT_CHARSET']
// 현재 요청의 Accept-Charset 헤더내용
// 문자 환경설정 정보
// iso-8859-1,utf-8;q=0.5.

$_SERVER['HTTP_ACCEPT_ENCODING']
// 현재 요청의 Accept_Encoding 헤더내용
// 클라이언트로 리턴되는 내용에 대해 수행될수 있는 인코딩의 유형
// gzip, deflate

$_SERVER['HTTP_ACCEPT_LANGUAGE']
// 현재 요청의 Accept_Language 헤더내용
// 수신할 내용에 적합한 언어를 정의
// ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7

$_SERVER['HTTP_CONNECTION']
// Connection의 내용
// keep-alive

$_SERVER['HTTP_HOST']
// 현재 Host 명
// 77kkang.tistory.com

$_SERVER['HTTP_REFERER']
// 브라우저가 요청한 웹페이지가 어떤것인가를 저장하는 변수
// 현재페이지, 이전페이지에 대한 정보를 가지고 있음(전페이지 URL)
// 같은 도메인안에서 진행을 하더라도 <a>링크 혹은 <form>태그의 액션외에는 onClick 과 같은 이벤트성 전달방식으로는 referer가 전달되지 않음

$_SERVER['HTTP_USER_AGENT']
// 페이지에 액세스하는 사용자 에이전트를 나타내는 문자열
// 클라이언트가 사용중인 브라우저 및 os 정보
// Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

$_SERVER['HTTPS']
// 스크립트가 HTTPS 프로토톨을 통해
// https (보안서버) 사용중이면 on

$_SERVER['REMOTE_ADDR']
// 현재 클라이언트 IP주소
// 123.123.123.123

$_SERVER['REMOTE_HOST']
// 사용자가 현재 페이지를 보고 있는 호스트명

$_SERVER['REMOTE_PORT']
// 웹서버와 통신하기 위해 사요자의 컴퓨터에서 사용되는 포트
// 50091

$_SERVER['REMOTE_USER']
// 인증된 사용자

$_SERVER['REDIRECT_REMOTE_USER']
// 요청이 내부적으로 리디렉션되는 겨우 인증된 사용자

$_SERVER['SCRIPT_FILENAME']
// 현재 실행중인 스크립트의 절대경로와 파일명
// /home/test/www/test.php

$_SERVER['SERVER_ADMIN']
// 웹서버 구성파일의 SERVER_ADMIN(Apache용)에 저장된 값
// webmaster@

$_SERVER['SERVER_PORT']
// 웹서버가 통신을 위해 사용하는 서버 시스템포트
// https : 443, http : 80 기본사용

$_SERVER['SERVER_SIGNATURE']
// 활성화된 경우 서버 생성페이지에 추가되는 서버버전 및 가상호스트 이름

$_SERVER['SCRIPT_NAME']
// 현재 스크립트의 경로
// 현재 요청한 URL을 알기 위해 사용
// /test.php

$_SERVER['REQUEST_URI']
// 페이지에 액세스하기 위해 제공된 URI
// /test.php?id=aaa&pass=dddd

참조 : https://www.php.net/manual/en/reserved.variables.server

 

phpinfo(int $flags) : PHP의 현재 상태에 대한 많은 정보를 출력함.

[ 매개변수($flags) ]

상수 설명
INFO_GENERAL 1 구성 라인, php.ini 위치, 빌드날짜, 웹서버, 시스템등..
INFO_CREDITS 2 PHP 크레딧. phpcredits() 로 확인가능
INFO_CONFIGURATION 4 PHP 지시문의 현재 로컬 및 마스터 값 ini_get() 참조.
INFO_MODULES 8 로드된 모듈 및 해당 설정. get_loaded_extensions() 참조.
INFO_ENVIRONMENT 16 $_ENV 에서도 사용할 수 있는 환경 변수 정보.
INFO_VARIABLES 32 EGPCS(환경, GET, POST, 쿠키, 서버)에서 사전 정의된 모든 변수.
INFO_LICENSE 64 PHP 라이센스 정보.
INFO_ALL -1 모든내용 모두 표시.

 

phpinfo()
phpinfo(32)

 

728x90
250x250
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total
Today
Yesterday