如何解决这个 MaxMind GeoIP 重定向问题?

Posted

技术标签:

【中文标题】如何解决这个 MaxMind GeoIP 重定向问题?【英文标题】:How to fix this MaxMind GeoIP redirection issue? 【发布时间】:2013-12-22 10:25:35 【问题描述】:

在我的旧网络主机上,我的网站上有一个特定页面(不是主页)设置为根据用户的国家/地区重定向用户,由他们使用 MaxMind 数据库的 IP 确定。在我迁移到新的虚拟主机之前,重定向代码运行良好。

问题是新主机没有安装 MaxMind 数据库。但即使我在我的 VPS 上安装了它,每当我测试重定向是否正常工作时,我仍然会收到以下错误消息: “致命错误:在第 2 行的 /my/file/path 中调用未定义的函数 geoip_record_by_name()”

这是重定向文件中的代码:

<?php
$ipinfo = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
$country = $ipinfo['geoip_country_code'];

switch($country)  XXX

?>

有人知道我做错了什么吗?

【问题讨论】:

【参考方案1】:

您以前的网络主机可能安装了GeoIP PECL extension。如果您在新的 Web 主机上安装了它和 GeoIP City 数据库,上述代码应该可以工作。

如果您无法安装扩展,您可以尝试pure PHP API。不过,您必须对代码进行一些更改,因为 API 与扩展略有不同。

【讨论】:

以上是关于如何解决这个 MaxMind GeoIP 重定向问题?的主要内容,如果未能解决你的问题,请参考以下文章

MaxMind GeoIP 从允许一个 IP 的国家/地区重定向用户

我的 IP 地址的 Maxmind GeoIP 重定向异常

基于美国州的重定向页面,使用 Maxmind geoip2 JS

重定向国家脚本不起作用

php maxmind geoip 异常ip

如何更正 maxmind GeoIP 位置?