海运的博客

PHP使用GeoIP

发布时间:April 9, 2014 // 分类:PHP // No Comments

1.使用PHP GeoIP扩展,功能不全,如不能查询AS号:

yum install php-pecl-geoip
#下载最新geo数据库
cd /usr/share/GeoIP/
wget http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gzip -d GeoIP.dat.gz
<?php
echo geoip_country_code_by_name('www.haiyun.me') . "\n";
?>

2.使用GeoIP官方提供的PHP API,不可和上扩展共存,函数冲突。

git clone https://github.com/maxmind/geoip-api-php.git
<?php
include("./src/geoip.inc");
$gi = geoip_open("/usr/share/GeoIP/GeoIP.dat", GEOIP_STANDARD);
echo geoip_country_code_by_name($gi, "www.haiyun.me") . "\n";
?>

GeoIP数据库下载:http://dev.maxmind.com/geoip/legacy/geolite/

标签:none

发表评论

分类
最新文章
最近回复
  • crowjin: 你确定这能过滤??不是所有请求都返回空地址::?
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了