有 5 种方法可获取 PHP 中的内网 IP:使用 gethostbyname() 函数使用 $_SERVER['SERVER_ADDR'] 变量使用 exec() 函数使用 socket_create() 和 socket_connect() 函数使用 ifconfig 命令

如何获取 PHP 中的内网 IP
获取 PHP 中的内网 IP 有多种方法,以下是最常见和最有效的方法:
1. 使用 gethostbyname() 函数
<code class="php">$ip = gethostbyname('localhost');</code>2. 使用 $_SERVER['SERVER_ADDR']
立即学习“PHP免费学习笔记(深入)”;
此变量存储了服务器的内网 IP 地址。
<code class="php">$ip = $_SERVER['SERVER_ADDR'];</code>
3. 使用 exec() 函数
<code class="php">$ip = exec('hostname -I');</code>4. 使用 socket_create() 和 socket_connect() 函数
<code class="php">$socket = socket_create(AF_INET, SOCK_DGRAM, 0); socket_connect($socket, '8.8.8.8', 53); $ip = socket_getsockname($socket); socket_close($socket);</code>
5. 使用 ifconfig 命令
<code class="php">$ip = shell_exec('ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '[0-9]*\.){3}[0-9]*'');</code>注意:
- 上述方法中,
$ip变量将包含服务器的内网 IP 地址。 - 并非所有方法在所有操作系统和服务器配置上都可用。
- 始终检查方法的可用性并处理可能的错误。











