PHP, как получить локальный IP системы

Я должен получить локальный IP компьютера как 192.*.... Действительно ли это возможно с PHP?

Мне нужен IP-адрес системы, запускающей скрипт, но мне не нужен внешний IP, мне нужен его адрес карты локальной сети.

86
задан Arnaud Le Blanc 13 April 2016 в 16:38
поделиться

2 ответа

$_SERVER['SERVER_ADDR']
56
ответ дан 24 November 2019 в 07:56
поделиться

Зависит от того, что вы подразумеваете под локальным:

Если под локальным вы подразумеваете адрес сервера / системы, выполняющей код PHP, то есть еще два пути для обсуждения. Если PHP запускается через веб-сервер, вы можете получить адрес сервера, прочитав $ _ SERVER ['SERVER_ADDR'] . Если PHP запускается через интерфейс командной строки, вам, вероятно, придется выполнить оболочку ipconfig (Windows) / ifconfig (* nix) и найти адрес с помощью grep.

Если под локальным вы подразумеваете удаленный адрес посетителя веб-сайта, а не его внешний IP-адрес (поскольку вы специально указали 192. *), то вам не повезло. Весь смысл маршрутизации NAT заключается в том, чтобы скрыть этот адрес. Вы не можете идентифицировать локальные адреса отдельных компьютеров за IP-адресом, но есть некоторые уловки (пользовательский агент, возможно, MAC-адрес), которые могут помочь различить, есть ли несколько компьютеров, осуществляющих доступ с одного и того же IP-адреса.

15
ответ дан 24 November 2019 в 07:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: