差异é;将geoip安装为PHP模块与将其安装为apache2模块之间的关系


Différence between installing geoip as a PHP module VS as an apache2 module

如果安装了apache模块,则可以使用获得国家代码

$_SERVER['GEOIP_COUNTRY_CODE']

对于PHP模块/库,您可以使用:

geoip_country_code_by_name($_SERVER['REMOTE_ADDR'])

这两种解决方案之间的区别(性能等)是什么?哪一个最好?为了哪种需要?

我认为apache模块为每个请求在内存中加载了扩展,这可能对性能不利。(或者你必须用GeoIPEnable Off/On设置规则,但这并不总是容易的…)所以,如果您只需要在某些页面上使用geoap,那么使用PHP模块对性能更好吗?

它们的性能大致相当。我们也很好奇,所以我们在Digital Ocean虚拟机和本地流浪者身上做了一些测试。结果是一样的:使用Apache扩展、PHP扩展或PHP库都提供了极好的结果。没有真正的成功与根本不做GeoIP。

你可以在Apache中使用.htaccess在目录或文件的基础上禁用GeoIP,所以如果你想在某些区域禁用它,你也可以在那里免费禁用。

我们在博客中介绍了我们的测试,并详细介绍了如何复制:GeoIP性能检查