Я должен получить локальный IP компьютера как 192.*.... Действительно ли это возможно с PHP?
Мне нужен IP-адрес системы, запускающей скрипт, но мне не нужен внешний IP, мне нужен его адрес карты локальной сети.
Зависит от того, что вы подразумеваете под локальным:
Если под локальным вы подразумеваете адрес сервера / системы, выполняющей код PHP, то есть еще два пути для обсуждения. Если PHP запускается через веб-сервер, вы можете получить адрес сервера, прочитав $ _ SERVER ['SERVER_ADDR']
. Если PHP запускается через интерфейс командной строки, вам, вероятно, придется выполнить оболочку ipconfig
(Windows) / ifconfig
(* nix) и найти адрес с помощью grep.
Если под локальным вы подразумеваете удаленный адрес посетителя веб-сайта, а не его внешний IP-адрес (поскольку вы специально указали 192. *), то вам не повезло. Весь смысл маршрутизации NAT заключается в том, чтобы скрыть этот адрес. Вы не можете идентифицировать локальные адреса отдельных компьютеров за IP-адресом, но есть некоторые уловки (пользовательский агент, возможно, MAC-адрес), которые могут помочь различить, есть ли несколько компьютеров, осуществляющих доступ с одного и того же IP-адреса.