Почему getenv не проверяет $ _SERVER на CLI?

В соответствии с документация по getenv, Я должен быть в состоянии использовать его, чтобы проверить $_SERVER переменная.

<?php
// Example use of getenv()
$ip = getenv('REMOTE_ADDR');

// Or simply use a Superglobal ($_SERVER or $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];

Однако мне кажется, что это работает только при запуске с веб-сервера (Apache), но не из командной строки. $_SERVER переменная заполняется правильно в обоих случаях, но getenv только читает это на веб-сервере.

<?php
var_dump(  getenv('SCRIPT_FILENAME'));
var_dump($_SERVER['SCRIPT_FILENAME']);

Вывод на Apache в браузер:

/var/www/localhost/questions-answers/scratch.php:7:
строка ‘/var/www/localhost/questions-answers/scratch.php’ (длина = 48)
/var/www/localhost/questions-answers/scratch.php:8:
строка ‘/var/www/localhost/questions-answers/scratch.php’ (длина = 48)

Выход на CLI:

/var/www/localhost/questions-answers/scratch.php:7:
BOOL (ложь)
/var/www/localhost/questions-answers/scratch.php:8:
string (11) «scratch.php»

Я чувствую, что в моем наборе отсутствует какая-то опция php.ini но я не могу найти ссылку на это подозрение. Это обратное этот вопрос.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector