📅  最后修改于: 2023-12-03 15:08:56.293000             🧑  作者: Mango
有时候在开发时需要获取服务器的IP地址,PHP提供了多种获取服务器IP地址的方式,本文将为大家介绍常用的三种方式。
$_SERVER['SERVER_ADDR']是一个预定义的变量,可以获取当前服务器的IP地址:
$server_ip = $_SERVER['SERVER_ADDR'];
echo $server_ip;
输出:
127.0.0.1
需要注意的是,$_SERVER['SERVER_ADDR']获取的是当前服务器的IP地址,如果有多个网卡,可能会返回不同的IP地址。
gethostbyname()函数可以通过主机名获取IP地址,我们可以将主机名设置为'localhost'或者服务器的域名,即可获取服务器的IP地址:
$server_ip = gethostbyname('localhost');
echo $server_ip;
输出:
127.0.0.1
需要注意的是,如果服务器的配置文件将主机名指向了其他IP地址,使用gethostbyname()函数可能会返回错误的IP地址。
最后一种获取服务器IP地址的方式是通过调用外部API获取,例如可以使用ipify提供的API获取当前服务器的IP地址:
$api_url = 'https://api.ipify.org?format=json';
$server_ip = json_decode(file_get_contents($api_url))->ip;
echo $server_ip;
输出:
123.45.67.89
需要注意的是,使用外部API获取IP地址可能会受网络状况影响,并且需要保证API的可用性。
以上就是三种常用的获取服务器IP地址的方式,可以根据自己的需要选择适合的方法。