香雨站

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 105|回复: 0

PHP最可靠的获取服务端IP方法

[复制链接]

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-9-20 18:19:31 | 显示全部楼层 |阅读模式
最近在获取服务器端IP遇到一些问题

  • 问题1: 获取不到云主机外网IP,这个没办法你可能配置里写内网IP了
  • 问题2: CLI模式下取不到服务IP
我验证了以下获取服务器IP的方式
方式1

$serverIP = $_SERVER['SERVER_ADDR'];
HTTP请求可以获取, 但CLI不行
方式2

$serverIP = getenv('SERVER_ADDR');
问题同上
方式3

$serverIP = gethostbyname($_SERVER["SERVER_NAME"])
这个是我起初的方案, 但最近发现如果域名未解析的话,它直接返回域名,获取不到IP
方式4

已验证,安全可靠;

  • 无关域名是否解析
  • 兼容cli模式
/**
* 获取服务端IP
*/
function getServerIP(){
    // 兼容获取CLI方式下服务器IP, 注意云主机有可能只能获取到内网IP
    return getHostByName(getHostName());
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|香雨站

GMT+8, 2025-3-15 10:30 , Processed in 0.153986 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表