BOARD

자료·레퍼런스

PHP $SERVER 환경 변수 활용 및 주요 항목 가이드

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 23회 작성일 26-09-15 11:44

본문

PHP $_SERVER 환경 변수 활용 및 주요 항목 가이드

그누보드 운영 시 자주 쓰이는 PHP $_SERVER 환경 변수의 주요 항목과 경로, HTTPS 도메인 구성 방법을 명확하게 정리하여 코드 수정에 바로 적용할 수 있도록 돕습니다.

PHP $_SERVER 주요 환경 변수와 역할

$_SERVER는 웹 서버가 생성하는 배열로, 스크립트 실행 경로, 헤더 정보, 사용자 환경 등 다양한 정보를 포함합니다. 서버 환경(OS, 웹 서버 종류)에 따라 일부 변수는 값이 다를 수 있으므로 주의가 필요합니다. 개발 시 자주 참조하는 주요 변수와 그 역할은 다음과 같습니다.

  • DOCUMENT_ROOT: 사이트가 위치한 서버상의 최상위 절대 경로
  • HTTP_HOST: 클라이언트가 접속한 도메인 주소
  • REQUEST_URI: 도메인을 제외한 현재 페이지의 전체 주소
  • PHP_SELF: 현재 실행 중인 파일의 상대 경로
  • REMOTE_ADDR: 접속한 사용자의 IP 주소
  • HTTPUSERAGENT: 사용자의 브라우저 및 운영체제 정보
  • HTTPS: 보안 연결(HTTPS) 여부 ('on'일 경우 활성)

경로 및 URL 구성 시 주의사항

파일 경로를 다룰 때는 서버 환경(Windows의 '' vs Linux의 '/')에 따라 경로 구분자가 다를 수 있음을 고려해야 합니다. 또한, HTTP_REFERER와 같은 변수는 브라우저 설정이나 직접 접속 여부에 따라 값이 없을 수 있으므로, isset($_SERVER['HTTP_REFERER']) 또는 !empty($_SERVER['HTTP_REFERER'])를 사용하여 값이 존재하는지 먼저 확인하는 예외 처리가 필요합니다.

HTTPS 및 도메인 확인을 통한 URL 구성 방법

PHP에서 보안 연결(HTTPS) 여부와 서버 포트를 확인하여 전체 도메인 및 기준 URL($base_URL)을 동적으로 구성하는 코드 예시입니다.

코드 예시

if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
    $base_URL = 'https://';
} else {
    $base_URL = 'http://';
}
$base_URL .= ($_SERVER['SERVER_PORT'] != '80') ? $_SERVER['HTTP_HOST'] . ':' . $_SERVER['SERVER_PORT'] : $_SERVER['HTTP_HOST'];

주요 확인 항목

  • HTTPS: 보안 연결 여부를 확인하며, 'on'일 경우 활성 상태로 판단하여 https:// 프로토콜을 설정합니다.
  • SERVER_PORT 및 HTTP_HOST: 기본 웹 포트(HTTP: 80, HTTPS: 443)가 아닐 경우 포트 번호를 포함한 도메인 주소를 조합하여 전체 URL을 완성합니다. 서버 설정에 따라 포트 번호가 생략될 수 있으므로 환경에 맞는 확인이 필요합니다.

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.