phpでサーバ変数のREMOTE_HOSTを取得する設定


PHPで、リモートホスト名を取得したい。

 

だけど公式マニュアル通り、$_SERVER['REMOTE_HOST']をしても空が却ってくるばかりで取得できない。

 

そんな場合、Apacheのhttpd.confを確認する。

 

 

httpd.confの場所

httpd.confは、ここら辺にある。

CentOS,RHEL,Fedora/etc/httpd/conf/httpd.conf
Debian/etc/apache2/httpd.conf

 

 

httpd.confの設定を確認(変更)

「HostnameLookups」の設定を確認する。
Offならば、Onに変更。

HostnameLookups Off
 ↓
#HostnameLookups Off
HostnameLookups On

httpd.confを修正したら、忘れずにリスタート。

リスタート
/etc/init.d/httpd restart

 

 

これでもダメならば・・・

これでダメなら、PHP関数を使用して、IPから取得する方法がある。

<?php
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo $host;
?>