如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔相信,对于pecl扩展,应该大多数人都有多多少少的排斥心理。因为毕竟调试和安装都不是太容易。如果您使用window环境,那么使用phpstudy,来管理和启用pecl扩展,是蛮方便的事情。如果你使用linux环境,那么使用宝塔面板,那么也是不错的选择。

但是,这两个很简单的选择的背后,如果碰上里面并没有内置的pecl扩展的话,掩盖在美好背后的事实,就变得狰狞起来了。你需要到pecl.php.net上面,去下载对应扩展的dll,而且要注意和你的php搭配,有ntsts区分,有vc10/vc11之类的区分,有dllso之类的区分。一个不留神,就搞错了。

GeoIp的相关扩展下载位置:http://pecl.php.net/package/geoip

脚本bash

当然,你也可以像本文中所提到的一样,自行编译扩展文件并启用。这样是最保险的办法。不过,过程不是很简单。本文测试环境:centos7+php71+宝塔面板

下面的脚本,是苏南大叔多次实验得出的结论。实际执行的时候,可能需要你一条一条执行,请不要一次性都塞到终端里面。

脚本如下:

yum install GeoIP GeoIP-data GeoIP-devel
wget http://pecl.php.net/get/geoip-1.1.1.tgz
tar zxvf geoip-1.1.1.tgz
cd geoip-1.1.1
/www/server/php/71/bin/phpize
./configure --with-php-config=/www/server/php/71/bin/php-config --with-geoip
make && make install

ps一下
上述命令,我是在 ~ 目录下面操作的,也就是说,上述命令的发生地址是:/root/

centos7系统,php71如何安装GeoIP扩展 - pwd
centos7系统,php71如何安装GeoIP扩展(图4-1)

  • /www/server/php/71 这个路径,是宝塔面板里面自带的php71的默认路径,你可以根据你的实际情况更改。
  • geoip-1.1.1.tgz这个文件地址路径,是苏南大叔从pecl扩展网站 http://pecl.php.net/package/geoip 这里获得的。

编译完成后,就可以得到一个geoip.so文件了,然后利用php.ini愉快的加载geoip.so吧。

centos7系统,php71如何安装GeoIP扩展 - geoip
centos7系统,php71如何安装GeoIP扩展(图4-2)

centos7系统,php71如何安装GeoIP扩展 - piwik_geoip_010
centos7系统,php71如何安装GeoIP扩展(图4-3)

centos7系统,php71如何安装GeoIP扩展 - phpini
centos7系统,php71如何安装GeoIP扩展(图4-4)

下载数据dat文件

安装成功后,记得下载对应的数据库dat文件。

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

这个dat文件最终要mov到什么位置,这个和您自己的系统有关系。

请自行检查php.ini中的geoip.custom_directory相关设置。例如在piwik系统中,就是修改了geoip.custom_directory的位置的。修改的办法,有很多种,相信经常关注苏南大叔系列文章的同学,都会修改的。

针对苏南大叔所述的范例来说,我的php.ini里面就应该有一条配置项目是:

geoip.custom_directory="/var/lib/GeoIP/"

当然了,这个目录你可以随便换成任何你喜欢的目录。记得修改php.ini即可,咩有的话,随便加一条就行了。

相关链接

结论

如果您的环境,和苏南大叔的环境一致的话,那么您也可以直接下载得到本文中涉及的geoip.so文件,http://dl.newsn.net/php/pecl/php71/geoip.so ,也许您就可以不必那么麻烦去编译这个东西了。centos下面的编译总是异常痛苦的。

 【宝塔面板】秘籍文章入口,仅传授于有缘之人   宝塔面板    geoip

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!