gpt4 book ai didi

OpenX 和地理定位问题

转载 作者:行者123 更新时间:2023-12-04 00:30:19 25 4
gpt4 key购买 nike

我下载了最新版本的 OpenX 2.8.6 并尝试设置地理定位,但它不起作用。我在管理面板中启用了 geoTargeting(配置 -> 全局设置 -> 地理定位模块类型 -> OpenX Max mind (flat file) )。我在 OpenX 的文档中读到,没有必要在插件设置中放置任何数据库路径,所以我尝试不这样做。我将测试横幅的交付选项设置为仅在塞尔维亚显示。我正在刷新显示横幅的页面,但此横幅从未显示。

我认为问题可能出在旧数据库中并且无法识别我的 IP 地址,所以我从 MaxMind(精简版 Country 数据库)下载了最新的一个数据库(.dat 文件)并将路径放入插件的设置中,但它仍然不起作用。

谁能帮我解决这个问题?

最佳答案

我有同样的问题。似乎 OpenX 自 2.8.x 版以来正在使用其自己的基于 php 的 GeoIP-Database 阅读器(例如设置下的“平面文件”选项)而不是使用 geoip 模块 - 这似乎不适用于当前的 GeoIP.dat

为了解决这个问题,我做了以下事情:

1) 打开插件/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'
* );
*/

阅读您的模块文档(mod_geoip)如何从当前(或给定)IP 获取地理数据。在上面的示例中,我使用的是 lighttpd 1.5 + mod_geoip(非官方模块)。但是这个修复也应该适用于 apache_note/pecl-geoip/mod_geoip env...

哦,顺便说一句。当然,它依赖于将数据库缓存在内存中的 mod_geoip 比在每个请求上都通过 php 完成所有操作要快得多(就像 openx 那样)。

关于OpenX 和地理定位问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com