dsf11t5u1651 2013-04-26 05:55
浏览 1631

Apache - PHP SERVER_ADDR显示内部IP?

echo $_SERVER['SERVER_ADDR'] always yields 192.168.1.142, which is the IP address of my server within my home network. I can access the website using my external IP since I've set up the port forward on my router, but $_SERVER['SERVER_ADDR'] will only return the internal IP, no matter what I try.

How can I make $_SERVER['SERVER_ADDR'] return my external IP?

  • 写回答

2条回答 默认 最新

  • doutan1905 2013-04-26 05:58
    关注

    You can use file_get_contents function for this. You just need to find a host which can return your ip address

    $externalContent = file_get_contents('http://checkip.dyndns.com/');
    preg_match('/Current IP Address: ([\[\]:.[0-9a-fA-F]+)</', $externalContent, $myIp);
    echo $myexternalIp = $myIp[1];
    
    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗