php使用geoip扩展获得地理位置信息

参考:https://sjolzy.cn/GeoIP-PHP-version-use.html

使用php扩展geoip获取地理位置
先获取一个免费的数据库:GeoIP.dat.gz ,(链接下方或者参考有链接)
解压得到:GeoIP.dat(这一步的文件可以从方法二获取最新的文件)
这边范例使用的是PHP。
GeoIP + PHP的使用
方法一:(获取国家代号,名称)
下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php
geoip.inc
将获取的文件geoip.inc改成 geoip.inc.php
php代码:

<?php
include("geoip.inc.php");
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$ip='115.239.212.133';
$country_code = geoip_country_code_by_addr($gi, $ip);
$country_name = geoip_country_name_by_addr($gi, $ip);
geoip_close($gi);
echo "<pre>";var_dump($country_code,$country_name);

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

下载 GeoIP 数据库(这一步其实有没有无所谓,主要是我没有这个文件,csdn的下载积分太多了,很穷!!!)
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 扩展(我一般喜欢把资源下载到/usr/local/suore)
下载地址 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/bin/phpize (这一步phpize如果出问题请百度,最大可能是少了依赖)
再找到你的php-config的位置 (我的是 /usr/bin/php-config)
./configure --with-php-config=/usr/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

安装后如何使用问题:

参考:https://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs
我这边选的是php的composer安装
https://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs
下载完后,在vendor同级目录下建立新的php文件,按照官方给的例子粘贴到php文件中,

红圈的就是方法一的GeoIP.dat文件,
在这里插入图片描述
在这里插入图片描述
最后访问该文件就可以了
两种方法代码地址:
方法一:https://download.csdn.net/download/qq_42909145/12642726
方法二:https://download.csdn.net/download/qq_42909145/12642750

想法:
说真的有时候我觉得有些东西,自己试过才知道,自己会了,想分享,那就认认真真的分享出来.想起伟人说过

实践是检验真理的唯一标准

,总之,愿诸位 学无止境,勤则可达;志存高远,恒亦能成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值