php iplocation安装使用

这个iplocation是php的一个扩展,将ip地址库预读到内存,已二叉树的数据结构存储,所以查地址非常快。

具体安装和使用如下:

wget https://php-tokyocabinet.googlecode.com/files/php-iplocation.tar.bz2
tar jxvf php-iplocation.tar.bz2
cd php-iplocation
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-iplocation
make && make install

#注:安装目录有个默认的ip地址库,37万多条ip数据,不过也可以到纯真ip下载最新的ip地址库,一个小软件,然后导出文本文件,把空格分隔换成|分隔即可
cp c_ip.txt /data/ip.dict

vi /usr/local/webserver/php/etc/php.d/iplocation.ini
[iplocation]
iplocation.dict = “/data/ip.dict”
extension=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/iplocation.so

php端用法
看一下源码里iplocation.c,只提供了两个函数,iplocation_fetch和iplocation_count
print_r(iplocation_fetch(“202.38.64.1”));

有一点要注意,因为是预载入,所以更新ip地址库文件,要重启php-fpm,才会生效

《php iplocation安装使用》有一个想法

发表评论