首页 > GeoIP的使用 - PHP版

GeoIP的使用 - PHP版

转载地址:http://sjolzy.cn/GeoIP-PHP-version-use.html

GeoIP介绍:



什么是GepIP ?



所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。



GeoIP如 何使用?

首先我们需要数据信息,所以先获取一个免费的数据库:http://sjolzy.cn/php/GeoIP/bak/GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。



GeoIP + PHP的使用

方法一:

下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php

http://sjolzy.cn/php/GeoIP/bak/geoip.inc



php使用代码

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 部份函数了

http://cn.php.net/manual/en/book.geoip.php

更多相关:

  • php需要安装swoole扩展 swoole4.3.2 cd /usr/local/src/wget https://pecl.php.net/get/swoole-4.3.2.tgztar -zxvf swoole-4.3.2.tgzmv swoole-4.3.2 swoolecd swoole/usr/local/php/bin...

  • 1 在pecl.php.net搜索你需要的php扩展 2 在解压后的扩展目录运行phpize 3 执行编译./configure --with-php-config=/usr/local/php/bin/php-config 4 修改php/lib/php.ini文件  加上这句话extention=扩展.so的绝对路径 转载于...

  • 先上图,如下是安装成功后的phpinfo()界面:   安装步骤: 1、先确定安装版本,比如我的的php : php7.0.12  x86 ts     那么就需要三方版本 要一致:imagick软件本身( 如x86 )、php本身( x86 ts (thread safe) )、php扩展php_imagick.dll (ts)...

  • 安装PHP Manager:   1)访问 http://phpmanager.codeplex.com/releases/view/69115 下载PHP Manager。其中,x86 为32位 Windows 系统使用,x64 为64位 Windows 系统使用,请根据使用的 Windows 系统情况下载   2)下载后,双击默认...

  • PHP5.3连接SQL Server就不能用php_mssql.dll了。 网上下载了好多都不行,因为它的版本是5.2的,不能再PHP5.3中使用。 后来听说微软专门为PHP出了自己的dll。 叫做Microsoft SQL Server Driver for PHP PHP5.3中用3.0的版本就可以了。 SQLSRV30.EXE...