服务器之家

服务器之家 > 正文

php GeoIP的使用教程

时间:2019-11-19 13:59     来源/作者:PHP教程网

GeoIP介绍: 
什么是GepIP ? 
所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。 
GeoIP如何使用? 
首先我们需要数据信息,所以先获取一个免费的数据库:GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。 
GeoIP + PHP的使用 
方法一: 
下载 GeoIP 的 PHP 文件geoip.inc。

复制代码代码如下:


include("geoip.inc.php"); 
// 打开数据文件 
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD); 
// 获取国家代码 
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
echo "Your country code is: $country_code "; 
// 获取国家名称 
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
echo "Your country name is: $country_name "; 
// 关闭文件 
geoip_close($gi); 


注:在本地测试的话因 为$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以输出的内容为空。可以自己带入IP测试 

方法二: 
把 GeoIP 安装成 PHP 扩展 
yum install GeoIP GeoIP-data GeoIP-devel 

下载 GeoIP 数据库 
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz 
gzip -d GeoLiteCity.dat.gz 
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat 

下载 GeoIP 的 PECL 扩展 
下载地址 http://pecl.php.net/package/geoip 
wget -c http://pecl.php.net/get/geoip-1.0.7.tgz 
tar -zxvf geoip-1.0.7.tgz 

安 装 GeoIP 的 PECL 扩展 
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 

在 php.ini 里加上 
extension=geoip.so 
接着重启一下 php 就行了 
现在,你可以使用 php 手册里的 GeoIP 部份函数了

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部