根据IP获取访客详细信息(PHP安装GeoIP扩展方式)
2018-05-29
后端
PHP安装GeoIP扩展根据IP获取访客所在国家/城市/经纬度等信息

- 1) 更新yum源 yum update
2) 安装GeoIP的相关程序(这一步有可能出错,最后有解决方法)
yum install GeoI GeoIP-data GeoIP-devel
3) 下载ip数据库
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
4) 新建文件夹存放ip数据库,把ip数据库移动过去
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat
5) 安装php扩展
wget http://pecl.php.net/get/geoip-1.0.7.tgz
tar xvf geoip-1.0.7.tgz
cd geoip-1.0.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
make
make install
6) 重启一下你的apache,下面就可以用php来调用geoip的数据库了
7) 官方网站找到geoip的文档开始使用:http://cn.php.net/manual/en/book.geoip.php
8) 测试
AS
[country_code] => CN
[country_code3] => CHN
[country_name] => China //国家
[region] => 22
[city] => Beijing //城市
[postal_code] =>
[latitude] => 39.928901672363 //纬度
[longitude] => 116.38829803467 //经度
[dma_code] => 0
[area_code] => 0
)
注意在安装geoip时,提示报错:
yum install geoip
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* updates: mirror.neu.edu.cn
Setting up Install Process
No package geoip available.
Error: Nothing to do
解决办法:
加入一个epel源就好了 centos 5
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm –Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
centos 6
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
再次安装,即OK
yum install GeoIP-devel GeoIP