如何解决这个 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 的国家/地区重定向用户