Php 获取到路由器的连接的DHCP地址

Php 获取到路由器的连接的DHCP地址,php,localhost,dhcp,Php,Localhost,Dhcp,我运行MAMP进行本地wordpress开发,出于各种原因,我需要通过http://192.162.1.99:8888而不是http://localhost:8888。这通常不是一个问题,而在我自己的连接,因为我总是用相同的IP连接。然而,当我外出走动时,我不得不改变各种常数,以反映我在路由器上的IP 那么有没有一种使用PHP的技术可以确定这个DHCP地址呢?$\u SERVER中没有任何内容返回此地址,['SERVER\u ADDR']&['REMOTE\u ADDR']包含::1和['HTT

我运行MAMP进行本地wordpress开发,出于各种原因,我需要通过
http://192.162.1.99:8888
而不是
http://localhost:8888
。这通常不是一个问题,而在我自己的连接,因为我总是用相同的IP连接。然而,当我外出走动时,我不得不改变各种常数,以反映我在路由器上的IP


那么有没有一种使用PHP的技术可以确定这个DHCP地址呢?
$\u SERVER
中没有任何内容返回此地址,
['SERVER\u ADDR']
&
['REMOTE\u ADDR']
包含
::1
['HTTP\u HOST']
包含
本地主机:8888
可能不是最干净的解决方案,但如果您运行的是Linux/Unix,您可以在脚本中运行下面的php系统调用。我还没有测试过它,但我相信它会为您提供变量中的正确IP。只需记住使用系统的实际以太网/无线适配器名称切换en1即可。您可能还需要使用ifconfig命令的确切路径

$ipAddress = system('ifconfig en1 | grep inet | cut -d" " -f2' , $returnVal);

很抱歉,如果变量名不在php标准中,我现在通常用Java开发。

Yep,数字在那里。不完全干净,但足以使用-非常感谢。实际上,它只是将IP返回给变量,但函数本身实际上输出各种其他内容(MAC地址的一些变体加上适配器名称)。使用exec()而不是system(),这将只返回值,不会直接输出任何内容。@artparks,感谢您关于使用exec的说明。我只是在命令行上尝试过,实际上并不是通过php。