php localtion,php iplocation安装使用

吴靖
2023-12-01

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

具体安装和使用如下:

wget https://php-tokyocabinet.googlecode.com/files/php-iplocation.tar.bz2

最新可下载地址:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/php-tokyocabinet/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,才会生效

 类似资料: