5

OpenX 2.8.6 の最新バージョンをダウンロードし、ジオターゲティングをセットアップしようとしていますが、機能しません。管理パネルでジオターゲティングを有効にしました (構成 -> グローバル設定 -> ジオターゲティング モジュール タイプ -> OpenX Max マインド (フラット ファイル) )。プラグイン設定にデータベースへのパスを入れる必要はないというOpenXのドキュメントを読んだので、せずに試しました。セルビアでのみ表示されるテスト バナーの配信オプションを設定しました。バナーを表示するページを更新していますが、このバナーは表示されません。

古いデータベースに問題があり、私のIPアドレスが認識されていないのではないかと思ったので、MaxMind(Countryデータベースの軽量版)から最新のデータベース(.datファイル)をダウンロードし、プラグインの設定にパスを入れました。しかし、それでも機能しません。

誰でもこの問題を解決する方法を教えてもらえますか?

4

1 に答える 1

5

私も同じ問題を抱えていました。バージョン 2.8.x 以降の OpenX は、現在の GeoIP.dat では動作しないように見える geoip モジュールを使用する代わりに、独自の php ベースの GeoIP データベース リーダー (設定の「flatfile」オプションなど) を使用しているようです。

この問題を解決するために、次のことを行いました。

1) plugins/geoTargeting/oxMaxMindGeoIP/oxMaxMindGeoIP.delivery.php を開きます

2) 検索:

    if (isset($GLOBALS['_MAX']['GEO_IP'])) {
        $ip   = $GLOBALS['_MAX']['GEO_IP'];
        OX_Delivery_logMessage('['.$ip.'] : ip from cookie. Plugin_geoTargeting_oxMaxMindGeoIP_oxMaxMindGeoIP_Delivery_getGeoInfo', 7);
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
        OX_Delivery_logMessage('['.$ip.'] : ip from remote addr. Plugin_geoTargeting_oxMaxMindGeoIP_oxMaxMindGeoIP_Delivery_getGeoInfo', 7);
    }
    $aGeoConf = (is_array($conf['oxMaxMindGeoIP'])) ? $conf['oxMaxMindGeoIP'] : array();

3) 以下に挿入します。

$ret = array(
    "country_code" => $_SERVER['GEOIP_COUNTRY_CODE']
);
return $ret;

4) 保存して完了

関数ヘッダーに可能な戻り値があります。

 * @return array An array(
 *                  'country_code',
 *                  'region',
 *                  'city',
 *                  'postal_code',
 *                  'latitude',
 *                  'longitude',
 *                  'dma_code',
 *                  'area_code',
 *                  'organisation',
 *                  'isp',
 *                  'netspeed'
 *              );
 */

module-doc (mod_geoip の) を読んで、現在の (または指定された) IP から地理データを取得する方法を確認してください。上記の例では、lighttpd 1.5 + mod_geoip (非公式モジュール) を使用しています。しかし、この修正は apache_note/pecl-geoip/mod_geoip 環境でも機能するはずです...

ああ、ところで。もちろん、すべてのリクエストでphpを介してすべてを実行するよりも(openxが行うように)、データベースをメモリにキャッシュするmod_geoipに依存する方がはるかに高速です。

于 2011-01-27T02:47:13.180 に答える