PHP如何获取服务器外网IP

网上找了很久,有很多答案(总体有六七种),一一试过,都只能获取本地的局域IP。我的局域网中装有一台WEB服务器,内网电脑都可以访问服务器中的网站。从路由器中查看到当前租约... 网上找了很久,有很多答案(总体有六七种),一一试过,都只能获取本地的局域IP。
我的局域网中装有一台WEB服务器,内网电脑都可以访问服务器中的网站。从路由器中查看到当前租约的外网IP后,可以用这个外网IP在任何地方访问网站。但是外网的IP是动态的,一旦租约时间到期,IP就会改变。为了始终可以用外网IP访问服务器中的网站,我想让网站中的PHP(或JS)获取外网IP,然后将IP变更后的信息发送到一个邮箱,这样不管在哪里,只要进邮箱就可以知道用什么IP地址访问我的网站了。
PHP发送邮件问题已解决,关键是如何获取外网IP,请达人给个代码,谢谢!
展开
 我来答
uowangshi
2012-10-26 · TA获得超过440个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:507万
展开全部
function real_server_ip(){
static $serverip = NULL;

if ($serverip !== NULL){
return $serverip;
}

if (isset($_SERVER)){
if (isset($_SERVER['SERVER_ADDR'])){
$serverip = $_SERVER['SERVER_ADDR'];
}
else{
$serverip = '0.0.0.0';
}
}
else{
$serverip = getenv('SERVER_ADDR');
}

return $serverip;
}
追问
这个显示的是局域网的IP:192.168.1.2
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
费升格
2012-10-26 · 超过19用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:49.5万
展开全部
1.关于外网IP变更问题,如果你手头上有 IP资源,建议绑定。就是你申请的静态IP。
2.如果自己没有静态IP,那么如果你有域名,可以通过 花生壳这些软件,绑定自己的服务器。这样就算IP怎样变化,直接访问域名就可以了。
2.1.花生壳带有一些二级域名的,功能也差不多。
-----------------------------------

另外,可以写一个功能cURL,让你的服务器定期访问一个站点(私有站点,要权限进入),这个站点你可以获取访问者的IP。
追问
1、外网访问只是为了方便10多个人,有近百人只是用内网,所以没申请静态IP;
2、域名以前用过,现在单位不重视也不打算再用域名,所以不续费;
3、二级域名好像是有使用期限,以前我用一个,一年后就不能用了;
4、外面没有私有站点。
我需要的是程序可以获取的一个外网的IP的值,而不是打开某个IP查询网站肉眼所看到的外网IP。像IP138之类可以查看到——但不符合我的实用意义。
追答
我后面提到的 cURL 不是肉眼去提取的。是服务器主动访问指定站点。站点获取访客信息,将访客的IP打包发送出去。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式