Всегда ли установлен параметр $ SERVER['server ADDR']?
Всегда ли задано $_SERVER['SERVER_ADDR']
?
Должен ли я проверить isset() или это не нужно?
Мне нужно получить IP-адрес сайта, чтобы я мог узнать, является ли он 127.0.0.1 / localhost
4 ответа:
Он не всегда будет установлен. Учтите, что вы можете установить PHP даже без сервера и запустить его из командной строки. Нет никакой гарантии с любой из переменных
$_SERVER
, но если вы попробуете его один раз на вашем сервере, и он работает, то вы можете поспорить, что он всегда будет установлен на этой конфигурации сервера. Вам просто нужно где-то отметить, что если вы когда-нибудь сделаете серьезное изменение в конфигурации вашего сервера или переключите серверы, вы должны проверить это снова.Вы также можете проверить значение переменных вашего сервера с
phpinfo()
Нет, в
CLI
он не установлен. Так бывает не всегда.$ php -r "echo $_SERVER['SERVER_ADDR'];"
(выход отсутствует)
Если у вас есть ошибки, зарегистрированные или сообщенные (на основе вашего PHP.ini settings), вы также получите следующее сообщение:
PHP Notice: Undefined index: SERVER_ADDR in Command line code on line 1