php gethostbyname()函数不使用';我不能在Linux下工作

php gethostbyname()函数不使用';我不能在Linux下工作,php,linux,ubuntu,Php,Linux,Ubuntu,嗨,我想用php获取我的ip号码,我正在使用ubuntu和ApacheXAMPforLinux作为Web服务器 <?php echo $gethostname = gethostbyname(gethostname()); ?> 当我执行代码时,它返回127.0.0.1我想要的是10.151.32.123。 这段代码在使用xampp的windows中工作,为什么这段代码在Linux中不工作?我想这是gethostname让您失望了。在调用gethostbyname

嗨,我想用php获取我的ip号码,我正在使用ubuntu和ApacheXAMPforLinux作为Web服务器

<?php 

    echo $gethostname = gethostbyname(gethostname());

?>

当我执行代码时,它返回127.0.0.1我想要的是10.151.32.123。
这段代码在使用xampp的windows中工作,为什么这段代码在Linux中不工作?

我想这是
gethostname
让您失望了。在调用
gethostbyname
时,请尝试使用
$\u服务器['HTTP\u HOST']
$\u服务器['SERVER\u NAME']
,我对此表示怀疑。为什么
gethostname
会失败?我的猜测是主机名在
/etc/hosts
中映射到127.0.0.1(这是Ubuntu中的默认设置)。我用$\u SERVER['HTTP\u host']或$\u SERVER['SERVER\u name']替换了gethostname,但是运气不好,它仍然返回127.0.0.1。是的,事后看来这是相当愚蠢的。按照@Phillip的建议去做,检查你的主机文件。你到底是在什么情况下?您是否打算最终将此代码放到服务器上?(你的例子很可能会在那里起作用。)或者你只想自己在本地使用它吗?(那你为什么不硬编码IP呢?)你和公共IP之间有路由器吗
10.151.32.123
,还是真的是你电脑的IP?我能帮你吗?谢谢这是我需要的。我只想在本地做。