на хостинге.
в Командной PHP-строке запускаю:
$ip = $_SERVER["REMOTE_ADDR"];
if(!empty($_SERVER["HTTP_X_REAL_IP"])){
$ip = $_SERVER["HTTP_X_REAL_IP"];
}
$obBitrixGeoIPResult = \Bitrix\Main\Service\GeoIp\Manager::getDataResult($ip, 'ru');
if($obBitrixGeoIPResult !== \Bitrix\Main\Service\GeoIp\Manager::INFO_NOT_AVAILABLE){
if($obResult = $obBitrixGeoIPResult->getGeoData()){
$_SESSION['GEOIP'] = get_object_vars($obResult);
$city = isset($_SESSION['GEOIP']['cityName']) && $_SESSION['GEOIP']['cityName'] ? $_SESSION['GEOIP']['cityName'] : '';
}
}
print_r($_SESSION['GEOIP']);
Результат выполнения команды
Array
(
[ip] => 1**.***.***.
[lang] => ru
[countryName] =>
[regionName] =>
[subRegionName] =>
[cityName] =>
[countryCode] =>
[regionCode] =>
[zipCode] =>
[latitude] =>
[longitude] =>
[timezone] =>
[asn] =>
[ispName] =>
[organizationName] =>
[handlerClass] => Bitrix\Main\Service\GeoIp\SypexGeo
)
на других сайтах все определяет... куда рыть?
[handlerClass] => Bitrix\Main\Service\GeoIp\SypexGeo Вы ж не используете геоип хостинга. А делаете запрос на внешний сайт - Sypexgeo.net, а там обычно есть ограничение по кол-ву запросов.
перед вот этим
Обсуждают сегодня