I need help finding the IP address of my computer when it is on a network. I am building a kiosk type system that will be put into different locations and I need to be able to use the web browser to find the IP address of that computer on the local network.
If I use $_SERVER['SERVER_ADDR'] I get the IP address I am connecting to through the local browser (127.0.0.1) on that machine.
I can't call out and get the public IP because the units may be behind a router and I don't want the public IP address of the router.
I need to find the IP address of that box on the server (ex: 192.168.0.xxx)
I do know that when I do a 'ip addr show' from the terminal I get
1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: em1:
mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 61:a6:4d:63:a2:80 brd ff:ff:ff:ff:ff:ff inet 192.168.0.211/24 brd 192.168.0.255 scope global em1 inet6 fe80::62a4:4cff:fe64:a399/64 scope link valid_lft forever preferred_lft foreverWhen I try:
$command="ip addr show";$localIP = exec ($command);$localIP comes out with "valid_lft forever preferred_lft forever" but none of the other information. If I can get the whole thing into $localIP then I can filter out the inet IP address but it won't give me everything.
Is there an easier way to do this or something I am missing when trying to do the "ip addr show" command? Also, I am running under the user apache and can't run this as root for this application.