php 获取路由器连接的DHCP地址

flvtvl50  于 2023-03-28  发布在  PHP
关注(0)|答案(2)|浏览(122)

我运行MAMP做本地WordPress的发展和各种原因,我需要通过像http://192.162.1.99:8888,而不是http://localhost:8888访问的网站.这通常不是一个问题,而在我自己的连接,因为我总是用相同的IP连接.然而,当我出去,我不得不乱和改变各种常量,以反映我的IP与该路由器.
那么有没有一种使用PHP的技术可以确定这个DHCP地址呢?$_SERVER中没有任何东西返回这个地址,['SERVER_ADDR']['REMOTE_ADDR']包含::1['HTTP_HOST']包含localhost:8888

arknldoa

arknldoa1#

可能不是最干净的解决方案,但如果你运行的是Linux/Unix,你可以在你的脚本中运行下面的php系统调用。我没有测试过,但我相信它会在变量中为你提供正确的IP。只要记住用你系统的实际以太网/无线适配器名称切换en 1。你可能还需要使用ifconfig命令的确切路径。

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

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

vuktfyat

vuktfyat2#

根据Lipongo先前的答案构建;如果devicename是已知的,这将在没有ifconfig的系统上工作:

$dev = 'eth1';
$ip4 = exec('ip addr show '.$dev.' | grep -oP "(?<=inet ).+(?=/)"');
$ip6 = exec('ip addr show '.$dev.' | grep -oP "(?<=inet6 ).+(?=/)"');

相关问题