Server - інформація про сервер і середовищі виконання, керівництво по php

(PHP 4> = 4.1.0, PHP 5, PHP 7)

$ _SERVER - $ HTTP_SERVER_VARS [видалено] - Інформація про сервер і середовищі виконання

Змінна $ _SERVER - це масив, що містить інформацію, таку як заголовки, шляхи та місця розташування скриптів. Записи в цьому масиві створюються веб-сервером. Немає гарантії, що кожен веб-сервер надасть будь-яку з них; сервер може опустити деякі з них або надати інші, не зазначені тут. Тим не менш, багато ці змінні присутні в "специфікації CGI / 1.1. так що ви можете їх очікувати їх реалізації і в конкретному веб-сервері.

Змінна $ HTTP_SERVER_VARS містить ту ж початкову інформацію, але вона не суперглобального. (Зауважте, що $ HTTP_SERVER_VARS і $ _SERVER є різними змінними, так що PHP обробляє їх відповідно). Також врахуйте, що "довгі масиви" були видалені в версії PHP 5.4.0, тому $ HTTP_SERVER_VARS більше не існує.

Ви можете знайти (а можете і не знайти) будь-який з наступних елементів в масиві $ _SERVER. Зауважте, що деякі елементи, якщо взагалі такі знайдуться, будуть доступні (або дійсно будуть мати значення), якщо PHP запущений в командному рядку.

PHP скрипт завершується після посилки заголовків (тобто після того, як здійснює будь-який висновок без буферизації виведення), якщо запит був здійснений методом HEAD.

Зауваження. Зверніть увагу, що при використанні ISAPI з IIS значення буде off. якщо запит не був проведений через протокол HTTPS.

Зауваження. Ваш веб-сервер повинен бути налаштований, щоб створювати цю змінну. Для прикладу, в Apache вам необхідна присутність директиви HostnameLookups On у файлі httpd.conf. щоб ця змінна створювалася. Див. Також gethostbyaddr ().

# 'REMOTE_PORT # 'Порт на віддаленій машині, який використовується для зв'язку з веб-сервером. # 'REMOTE_USER # 'Аутентифицироваться користувач. # 'REDIRECT_REMOTE_USER # 'Аутентифицироваться користувач, якщо запит був перенаправлений зсередини. # 'SCRIPT_FILENAME # '

Абсолютний шлях до скрипту, який в даний момент виконується.

Якщо скрипт запускається в командному рядку (CLI), використовуючи відносний шлях, такий як file.php або. /file.php. змінна $ _SERVER [ 'SCRIPT_FILENAME'] буде містити відносний шлях, вказаний користувачем.

# 'SERVER_ADMIN # 'Ця змінна отримує своє значення (для Apache) з директиви конфігураційного файлу сервера. Якщо скрипт запущений на віртуальному хості, це буде значення, визначене для даного віртуального хоста. # 'SERVER_PORT # 'Порт на комп'ютері сервера, який використовується веб-сервером для з'єднання. Для установок за замовчуванням, значення буде # '80 # '; використовуючи SLL, наприклад, це значення буде таким, яке налаштоване для з'єднань безпечного HTTP.

Зауваження. Щоб отримати фізичний (реальний) порт в Apache 2, необхідно встановити UseCanonicalName = On і UseCanonicalPhysicalPort = On. інакше це значення може бути підмінене і не повернути реальної значення фізичного порту. Покладатися на це значення небезпечно в контексті програм, що вимагають посиленої безпеки.

# 'SERVER_SIGNATURE # 'Рядок, що містить версію сервера і ім'я віртуального хоста, які додаються до генеруються сервером сторінок, якщо включено. # 'PATH_TRANSLATED # 'Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping.

Зауваження. Починаючи з PHP 4.3.2, змінна PATH_TRANSLATED більше не встановлюється неявно в Apache 2 SAPI. в порівнянні з Apache версії 1, де вона встановлюється в те ж саме значення, що і змінна SCRIPT_FILENAME. коли вона не використовується Apache. Ця зміна була зроблена для відповідності специфікації CGI. де змінна PATH_TRANSLATED повинна існувати тільки тоді, коли PATH_INFO визначена. Користувачі Apache 2 можуть використовувати директиву AcceptPathInfo = On в конфігураційному файлі httpd.conf для завдання змінної PATH_INFO.

список змін