在我的旧虚拟主机上,我的网站(不是主页)上设置了一个特定的页面,用于根据用户所在的国家/地区重定向用户,具体取决于他们使用 MaxMind 数据库的 IP。重定向代码工作正常,直到我迁移到新的虚拟主机。
问题是新主机没有安装MaxMind db。但是,即使我在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
}
?>
有人知道我做错了什么吗?
您以前的虚拟主机可能安装了GeoIP PECL扩展。如果您在新的Web主机上安装该数据库和GeoIP城市数据库,则上述代码应该可以工作。
如果您无法安装扩展,则可以尝试纯 PHP API。不过,您必须对代码进行一些更改,因为 API 与扩展略有不同。