<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reserved.variables.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'uk',
  ),
  'this' => 
  array (
    0 => 'reserved.variables.server.php',
    1 => '$_SERVER',
    2 => 'Інформація про серверне та виконавче середовище',
  ),
  'up' => 
  array (
    0 => 'reserved.variables.php',
    1 => 'Попередньо визначені змінні',
  ),
  'prev' => 
  array (
    0 => 'reserved.variables.globals.php',
    1 => '$GLOBALS',
  ),
  'next' => 
  array (
    0 => 'reserved.variables.get.php',
    1 => '$_GET',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'uk',
    'path' => 'language/predefined/variables/server.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="reserved.variables.server" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">$_SERVER</h1>

  <p class="verinfo">(PHP 4 &gt;= 4.1.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">$_SERVER</span> &mdash; <span class="dc-title">Інформація про серверне та виконавче середовище</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-reserved.variables.server-description">
  <h3 class="title">Опис</h3>
  <p class="para">
   Змінна <var class="varname">$_SERVER</var> — це масив, що містить таку інформацію як
   заголовки, шляхи та розташування скриптів. Записи в цьому масиві створює
   вебсервер. Немає гарантії, що кожен вебсервер буде надавати всі ці записи;
   Деякі дані може бути опущено або надано інші, незазначені в списку, який
   наведено нижче. Тим не менш, більша частина цих даних описані в
   <a href="https://datatracker.ietf.org/doc/html/rfc3875" class="link external">&raquo;&nbsp;специфікації CGI/1.1</a> і, ймовірно,
   будуть визначені.
  </p>

  <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
   <span class="simpara">
    Під час виконання PHP в <a href="features.commandline.php" class="link">командному
    рядку</a> більшість з цих записів не доступні або мають інше значення.
   </span>
  </p></blockquote>
  <p class="para">
   Разом з елементами, описаними нижче, PHP створює додаткові елементи зі
   значеннями заголовків запиту. Ці елементи матимуть ключі з назвою, що
   складається з <code class="literal">HTTP_</code> та назви заголовка великими буквами та
   підкресленнями замість дефісів. Наприклад, заголовок
   <code class="literal">Accept-Language</code> буде доступний як
   <code class="code">$_SERVER[&#039;HTTP_ACCEPT_LANGUAGE&#039;]</code>.
  </p>
 </div>


 <div class="refsect1 indices" id="refsect1-reserved.variables.server-indices">
  <h3 class="title">Індекси</h3>

  <p class="para">
   <dl>
    
     <dt>&quot;<var class="varname">PHP_SELF</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Шлях до файлу, де запущено скрипт, відносно кореневої теки вебсервера
       (document root). Наприклад, <var class="varname">$_SERVER['PHP_SELF']</var> в
       скрипті за адресою <var class="filename">http://example.com/foo/bar.php</var>
       буде <var class="filename">/foo/bar.php</var>. Константа
       <a href="language.constants.predefined.php" class="link">__FILE__</a> містить
       повний шлях та назву поточного (тобто підключеного) файлу.
      </span>
      <span class="simpara">
       Якщо PHP запущено з командного рядка, ця змінна міститиме назву скрипта.
      </span>
     </dd>
    

    
     <dt>&quot;<a href="reserved.variables.argv.php" class="link">argv</a>&quot;</dt>
     <dd>
      <span class="simpara">
       Масив аргументів, переданих до скрипта. Коли скрипт запущено з командного    
       рядка, то є можливість передавати до нього параметри в C-стилі. Під час
      виклику методом GET цей масив містить рядок запиту.
      </span>
     </dd>
    

    
     <dt>&quot;<a href="reserved.variables.argc.php" class="link">argc</a>&quot;</dt>
     <dd>
      <span class="simpara">
       Містить число параметрів, переданих до скрипта з командного рядка
       (якщо скрипт запущено з командного рядка).
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">GATEWAY_INTERFACE</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Назва та номер ревізії специфікації CGI сервера, що використовується.
       Наприклад, <code class="literal">&quot;CGI/1.1&quot;</code>.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_ADDR</var>&quot;</dt>
     <dd>
      <span class="simpara">
       IP-адреса сервера, на якому скрипт виконується.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_NAME</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Назва хоста сервера, на якому скрипт виконується. Якщо скрипт запущено на
       віртуальному хості, ця змінна міститиме його назву.
      </span>
      <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
       <span class="simpara">
        На Apache 2 потрібно встановити <code class="literal">UseCanonicalName = On</code>
        і <code class="literal">ServerName</code>. Інакше, це значення відображатиме назву
        хоста, надану клієнтом, яку можна підробити. Покладатися на це значення
        в контексті безпеки — небезпечно.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_SOFTWARE</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Ідентифікаційний рядок сервера, передається в заголовках у відповідь на
       запит.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_PROTOCOL</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Назва та номер ревізії протоколу, через який було запитано сторінку.
       Наприклад, <code class="literal">&quot;HTTP/1.0&quot;</code>.
      </span>
     </dd>
    
    
    
     <dt>&quot;<var class="varname">REQUEST_METHOD</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Назва метода, що використовувався під час запиту сторінки, тобто
       <code class="literal">&quot;GET&quot;</code>, <code class="literal">&quot;HEAD&quot;</code>,
       <code class="literal">&quot;POST&quot;</code>, <code class="literal">&quot;PUT&quot;</code>.
      </span>
      <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
       <p class="para">
        Скрипт PHP завершує роботу після надсилання заголовків (тобто, після
        здійснення будь-якого виводу без його буферизації) якщо метод запиту
        був <code class="literal">HEAD</code>.
       </p>
      </p></blockquote>
     </dd>
    

    
     <dt>&quot;<var class="varname">REQUEST_TIME</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Мітка часу, коли почався запит.
      </span>
     </dd>
    
    
    
     <dt>&quot;<var class="varname">REQUEST_TIME_FLOAT</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Мітка часу, коли почався запит, з точністю до мікросекунд.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">QUERY_STRING</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Рядок запиту, якщо він є, через який доступились до сторінки.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">DOCUMENT_ROOT</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Коренева директорія документів (document root), в якій скрипт
       виконується; вона визначається в конфігураційному файлі вебсервера.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">HTTPS</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Має непорожнє значення, якщо скрипт було запитано через протокол HTTPS.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">REMOTE_ADDR</var>&quot;</dt>
     <dd>
      <span class="simpara">
       IP-адреса, з якої користувач переглядає поточну сторінку.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">REMOTE_HOST</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Назва хоста, з якого користувач переглядає поточну сторінку. Зворотній
       пошук DNS базується на <var class="varname">REMOTE_ADDR</var> користувача.
      </span>
      <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
       <span class="simpara">
        Вебсервер необхідно сконфігурувати, так щоб створювалася ця змінна.
        Наприклад, в Apache у файлі <var class="filename">httpd.conf</var> потрібна опція
        <code class="literal">HostnameLookups On</code>. Див. також
        <span class="function"><a href="function.gethostbyaddr.php" class="function">gethostbyaddr()</a></span>.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&quot;<var class="varname">REMOTE_PORT</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Порт, який було використано на комп&#039;ютері користувача для зв&#039;язку
       з вебсервером.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">REMOTE_USER</var>&quot;</dt>
     <dd>
      <span class="simpara">
        Ім&#039;я авторизованого користувача.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">REDIRECT_REMOTE_USER</var>&quot;</dt>
     <dd>
      <span class="simpara">
        Ім&#039;я авторизованого користувача, якщо запит має внутрішню переадресацію.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">SCRIPT_FILENAME</var>&quot;</dt>
     <dd>
      <p class="para">
       Абсолютний шлях до поточного скрипта, що виконується.
       <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
        <p class="para">
         Якщо скрипт виконується через CLI з використанням відносного шляху,
         як от <var class="filename">file.php</var> чи
         <var class="filename">../file.php</var>,
         <var class="varname">$_SERVER['SCRIPT_FILENAME']</var> буде містити цей
         відносний шлях, визначений користувачем.
        </p>
       </p></blockquote>
      </p>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_ADMIN</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Значення, що встановлено для директиви SERVER_ADMIN (для Apache) в
       конфігураційному файлі вебсервера. Якщо скрипт запущено на віртуальному
       хості, SERVER_ADMIN матиме значення, визначене для даного віртуального
       хоста.
      </span>
     </dd>
    
    
    
     <dt>&quot;<var class="varname">SERVER_PORT</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Порт сервера, який використовується вебсервером для зв&#039;язку. Початково,
       встановлюється значення <code class="literal">&quot;80&quot;</code>. Але використовуючи,
       наприклад, SSL, це значення буде тим, що вказано в конфігураційному файлі
       для з&#039;єднання через безпечний HTTP-порт.
      </span>
      <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
       <span class="simpara">
        Для того, щоб отримати фізичний (реальний) порт на Apache 2, необхідно
        встановити <code class="literal">UseCanonicalName = On</code> і
        <code class="literal">UseCanonicalPhysicalPort = On</code>. В іншому випадку це
        значення може підмінятись, а тому не буде повертатись значення фізичного
        порту. Покладатися на це значення в контексті безпеки — небезпечно.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&quot;<var class="varname">SERVER_SIGNATURE</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Рядок, що містить версію вебсервера та назву віртуального хоста, які
       додаються до сторінок, якщо на вебсервері ця функціональність підключена.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">PATH_TRANSLATED</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Шлях, що базується на файловій системі (а не на шляху до кореневої теки
       документів), який веде до поточного скрипта. PATH_TRANSLATED матиме
       значення, якщо створено зіставлення між назвою віртуального хоста та
       реальним шляхом до його теки.
      </span>
      <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
       <span class="simpara">
        Користувачі Apache 2 можуть використовувати <code class="literal">AcceptPathInfo =
        On</code> у файлі <var class="filename">httpd.conf</var>, щоб визначити
        <var class="envar">PATH_INFO</var>.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&quot;<var class="varname">SCRIPT_NAME</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Містить шлях до поточного скрипта. Це є корисним для сторінок, які
       повинні посилатись на самих себе. Константа <a href="language.constants.predefined.php" class="link">__FILE__</a> містить повний
       шлях та назву поточного файлу.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">REQUEST_URI</var>&quot;</dt>
     <dd>
      <span class="simpara">
       URI, який передається для доступу до поточного скрипта. Наприклад,
       <code class="literal">&quot;/index.html&quot;</code>.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">PHP_AUTH_DIGEST</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Під час виконання автентифікації Digest HTTP, цій змінній передається
       значення заголовка &quot;Authorization&quot; (яке потім використовується для
       відповідної перевірки), що присилає клієнт.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">PHP_AUTH_USER</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Під час HTTP-автентифікації цій змінній передається ім&#039;я користувача.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">PHP_AUTH_PW</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Під час HTTP-автентифікації цій змінній передається пароль користувача.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">AUTH_TYPE</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Під час HTTP-автентифікації, цій змінній передається значення типу
       автентифікації.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">PATH_INFO</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Містить будь-який шлях, вказаний клієнтом між назвою скрипта та
       рядком запиту. Наприклад, якщо скрипт запитувати через URI
       <var class="filename">http://www.example.com/php/path_info.php/some/stuff?foo=bar</var>,
       то <var class="varname">$_SERVER['PATH_INFO']</var> міститиме
       <code class="literal">/some/stuff</code>.
      </span>
     </dd>
    

    
     <dt>&quot;<var class="varname">ORIG_PATH_INFO</var>&quot;</dt>
     <dd>
      <span class="simpara">
       Необроблене інтерпретатором значення <var class="varname">"PATH_INFO"</var>.
      </span>
     </dd>
    

   </dl>
  </p>
 </div>

 
 <div class="refsect1 examples" id="refsect1-reserved.variables.server-examples">
  <h3 class="title">Приклади</h3>
  <p class="para">
   <div class="example" id="variable.server.basic">
    <p><strong>Приклад #1 Використання <var class="varname">$_SERVER</var></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'SERVER_NAME'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Поданий вище приклад виведе щось
схоже на:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">www.example.com</pre>
</div>
    </div>
   </div>
  </p>
 </div>

 
 <div class="refsect1 notes" id="refsect1-reserved.variables.server-notes">
  <h3 class="title">Примітки</h3>
  <blockquote class="note"><p><strong class="note">Зауваження</strong>: <p class="para">Це &quot;суперглобальна&quot; або
автоматична глобальна змінна. Тобто ця змінна доступна будь-де в скрипті та її
не потрібно оголошувати як <strong class="command">global $variable;</strong>, щоб отримати
доступ до неї всередині функції чи метода.
</p></p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-reserved.variables.server-seealso">
  <h3 class="title">Прогляньте також</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="book.filter.php" class="link">Фільтрація даних</a></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>