PHP 4.1.0이후부터 외부 변수를 가져오는 가장 선호되는 방법은 아래에서 설명하는 슈퍼전역을 사용하는것이다. 그 이전버전에서는 register_globals이나 긴형태의 기선언 PHP 배열($HTTP_*_VARS)을 사용한다. PHP 5.0.0부터, 긴 형태의 PHP 예약 변수 배열을 register_long_arrays 지시어로 제거할 수 있습니다.
Note: 4.1.0부터 지원됨. 이전 버전은 $HTTP_SERVER_VARS을 사용함
$_SERVER는 헤더, 경로, 스크립트 위치와 같은 정보를 포함하는 배열이다. 이 배열 안의 엔트리는 웹서버에 의해 생성된다. 모든 웹서버가 이런 것들을 제공한다는 보장은 없다. 서버는 어떤것은 빠뜨리거나 여기에서 목록화된 것 외의 것을 제공할수 도 있다. 이런 많은 수의 변수들은 » CGI 1.1 specification에 기반하므로, 그런 변수들은 기대할수 있을것이다.
이 변수는 '슈퍼전역', 또는 자동 전역, 변수이다. 즉 스크립트내의 모든 유효영역안에서 사용가능하다는 의미를 갖는다. $HTTP_SERVER_VARS를 사용할때와 같이 함수나 메소드 안에서 사용하기 위해 global $_SERVER;를 할 필요는 없다.
$HTTP_SERVER_VARS는 동일한 초기 정보를 포함하지만, 자동전역은 아니다. ($HTTP_SERVER_VARS 와 $_SERVER는 다른 변수이고 PHP는 그변수들을 따로 다루게 된다는 것에 주의한다)
register_globals 디렉티브가 설정되어있으면, 이 변수들은 스크립트의 전역 유효영역에서 사용이 가능해 진다. 즉 $_SERVER 와 $HTTP_SERVER_VARS 배열과 분리된다. 관련정보는 전역 등록 사용하기라는 이름의 보안 챕터를 참고한다. 이들 각각의 전역은 자동전역이 아니다.
$_SERVER에서는 다음 구성요소를 확인할수도 있고 그렇지 않은수있다. 이 변수중 일부(심지어 모두)는 PHP가 커맨드 라인에서 수행되고 있을때에는 보여지지 않을것이다.
Note: 웹서버는 이 변수를 생성할수 있도록 설정되어야 한다. 예를 들면 아파치에서는 httpd.conf안에서 HostnameLookups On 이 필요할것이다. gethostbyaddr()도 참고.
현재 수행되는 스크립트의 절대 경로명.
Note: file.php, ../file.php처럼 스크립트를 상대 경로로 지정하여 CLI로 실행할 경우, $_SERVER['SCRIPT_FILENAME']은 사용자가 지정한 상대 경로를 포함합니다.
Note: 4.1.0부터 지원됨. 그 이전 버전에서는, $HTTP_ENV_VARS이 사용되었다.
이 변수들은 PHP 해석기가 실행중인 환경에서 PHP의 전역 네임스페이스로 포함된다. PHP가 실행중인 셀과 다른 종류의 셀을 수행하는 시스템에 의해서 많은 변수가 제공된다. 확정적인 변수 목록을 제공하는것은 불가능 하다. 선언된 환경변수 목록에 대한 셀의 문서를 참고하라.
다른 환경 변수는 CGI 변수를 포함한다. PHP가 서버 모듈로 실행중인지 또는 CGI 프로세서로 실행중인지에 따라 달라진다.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_ENV_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_ENV;를 사용할 필요는 없다.
$HTTP_ENV_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_ENV_VARS 와 $_ENV는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_ENV과 $HTTP_ENV_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_GET_VARS를 사용했슴.
HTTP GET 메소드를 통해 현재 스크립트에 전달되는 변수의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_GET_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_GET;를 사용할 필요는 없다.
$HTTP_GET_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_GET_VARS 와 $_GET는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_GET와 $HTTP_GET_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_POST_VARS를 사용했슴.
HTTP POST 메소드를 통해 현재 스크립트에 전달되는 변수의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_POST_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_POST;를 사용할 필요는 없다.
$HTTP_POST_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_POST_VARS 와 $_POST는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_POST와 $HTTP_POST_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_POST_FILES를 사용했슴.
HTTP POST 메소드를 통해 현재 스크립트에 업로드되는 아이템의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_POST_FILES를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_FILES;를 사용할 필요는 없다.
$HTTP_POST_FILES는 같은 정보를 갖고 있지만, 자동 전역 변수가 아니다.
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_FILES와 $HTTP_POST_FILES 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: 4.1.0부터 지원됨. 이전 버전에서는 관련된 배열이 없다.
Note: PHP 4.3.0 이전에는 $_REQUEST 안에도 $_FILES 정보가 포함되어 있었다.
$_GET, $_POST, $_COOKIE의 내용물로 구성된 연관 배열.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. 함수나 메소드에서 이 변수에 접근하기 위해 global $_REQUEST;를 사용할 필요는 없다.
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_REQUEST 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_SESSION_VARS를 사용했슴.
현재 스크립트에서 사용가능한 세션 변수를 포함하는 연관배열. 이 변수를 사용하는 방법에 대한 자세한 정보는 Session functions 문서를 참고.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_SESSION_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_SESSION;를 사용할 필요는 없다.
$HTTP_SESSION_VARS는 같은 정보를 갖고 있지만, 자동 전역 변수가 아니다.
register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_SESSION와 $HTTP_SESSION_FILES 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.
Note: $GLOBALS PHP 3.0.0부터 지원되었다.
현재 스크립트의 전역 유효영역내에서 선언되어있는 모든변수에 대한 참조를 포함하는 연관배열이다. 변수명은 배열의 키로 사용된다.
이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. 함수나 메소드에서 이 변수에 접근하기 위해 global $GLOBALS;를 사용할 필요는 없다.
$php_errormsg는 PHP에 의해 생성되는 가장 최근의 에러 메시지 텍스트를 포함하는 변수이다. 이변수는 에러가 발생한 영역내에서만 유효하다. 그리고, track_errors 설정 옵션이 on되어있어야 한다(초기값은 off이다)