【问题标题】:How to configure GeoIP on a shared server?如何在共享服务器上配置 GeoIP?
【发布时间】:2014-09-26 14:56:26
【问题描述】:

我想配置 GeoIP 以根据共享服务器中的国家 IP 地址将域重定向到子域。我创建了一个自定义php.ini 来导入geoip.so,然后在我的index.php 中添加了以下代码:

<?php
    require_once('/home/fuiba/php.ini');
    $gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
    $country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);

    geoip_close($gi);
    $my_countries = 'fr';
    if (strtolower($country) == $my_countries) {
        header('Location: fr.fuiba.org');
    }
    $my_countriessss = 'us';
    if (strtolower($country) == $my_countriessss) {
        header('Location: en.fuiba.org');
    }
?>

在浏览器中出现此错误:

extension=geoip.so
Fatal error: Call to undefined function geoip_open() in /home/fuiba/public_html/index.php on line 3

GeoIP 安装在服务器中。我在 info.php 上查看过:geoip version 1.0.8.

【问题讨论】:

    标签: php geoip


    【解决方案1】:

    你不能在 php 脚本中包含一个 php.ini,而且你不需要因为 phpinfo() 返回它已经安装。

    为了使 GeoLite 正常工作,您需要做的是首先包含 geoip.inc 文件 include("include/geoip.inc");

    如果您还没有它,可以在这里找到它: https://github.com/maxmind/geoip-api-php/blob/master/src/geoip.inc

    <?php
       include("include/geoip.inc");
       $country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
    
        geoip_close($gi);
        $my_countries = 'fr';
        if (strtolower($country) == $my_countries) {
            header('Location: fr.fuiba.org');
        }
        $my_countriessss = 'us';
        if (strtolower($country) == $my_countriessss) {
            header('Location: en.fuiba.org');
        }
    ?>
    

    【讨论】:

    • 谢谢艾萨克。我正在使用共享服务器,所以我不知道include/geoip.inc 的路径,我无法安装任何扩展或插件或更改服务器配置。我问了提供商,但他们建议我更改路径到 /home/fuiba/php.ini,因为他们不能给我路径 geoip.inc。
    • @Fuiba 就像我的帖子中指定的一样,您可以在此地址下载它github.com/maxmind/geoip-api-php/blob/master/src/geoip.inc 然后放入include/ 文件夹或任何您想要的文件夹,不要忘记将正确的路径放入include
    • @ChrysUgwu $gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
    猜你喜欢
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    相关资源
    最近更新 更多