PHP获取本机(小主机/树莓派)ipv4/v6地址

依赖php exec()函数,exec()函数默认关闭,可以通过宝塔等面板或修改php.ini启用


Linux获取公网ipv4/v6

命令行获取

ipv4:

图片[1]~PHP获取本机(小主机/树莓派)ipv4/v6地址~星空小站
#curl 4.ipw.cn 已失效
curl ip.3322.net
curl ipv4.ip.mir6.com
curl https://ipv4.ddnsip.cn

ipv6:

方法一

图片[2]~PHP获取本机(小主机/树莓派)ipv4/v6地址~星空小站
ifconfig enp2s0 | grep inet6 | awk '{print $2}' #注意:enp2s0更改为你的网卡名称,使用ifconfig获取

方法二

图片[3]~PHP获取本机(小主机/树莓派)ipv4/v6地址~星空小站
#IPv6优先级高于IPv4
curl ip.sb
curl https://ddnsip.cn
#通用
//xcurl -g -d -k -v http://[2402:4e00:1013:e500:0:9671:f018:4947]/ 已失效
curl ipv6.ip.mir6.com
curl https://ipv6.ddnsip.cn

PHP/Web中获取公网ipv4/v6

图片[4]~PHP获取本机(小主机/树莓派)ipv4/v6地址~星空小站
<?php
echo (exec("curl ip.3322.net"));
echo ("<br>");
echo (exec("curl ipv6.ip.mir6.com"));

不想直接输出也可以将其写入变量

<?php
$ipv4 = exec("curl ip.3322.net");
//如果你的设备IPv6优先级高于IPv4,可以替换为:$ipv6 = exec("curl ip.sb");
$ipv6 = exec("curl ipv6.ip.mir6.com");

适用环境

拥有动态公网,但是在IP变更时,依靠DDNS不能实时变更解析、DNS未即时刷新,
需求直连更快的内网对外FTP/Alist等服务情况。

借助OpenFRP/SakuraFRP映射一个PHP站点,

在该站点中使用本文提及的获取ipv4/v6方法。

© 版权声明
THE END
点赞11 分享
评论 共4条
头像~星空小站
欢迎您留下宝贵的见解!
提交
头像~星空小站

昵称

取消
昵称表情代码图片快捷回复
    • 头像~星空小站Qicloud0
    • 头像~星空小站7wate0