Выдает только пусто

Что-то не работает? Пишите здесь.

Выдает только пусто

UNREAD_POST kiberwow » 19.07.2016 10:54:39

Доброго времени суток, внезапно возникла проблема, у меня на 3-х сайтах используется бесплатная версия, но почему-то на четвертом начались проблемы, не может определить местоположение, хотя везде используется один и тот-же код (файлы расположены за пределами веб на хостинге) и пути относительные, но! почему то выдает только :

Код: Выделить всё
array (
  'city' =>
  array (
    'id' => 0,
    'lat' => 0,
    'lon' => 0,
    'name_ru' => '',
    'name_en' => '',
  ),
  'region' =>
  array (
    'id' => 0,
    'name_ru' => '',
    'name_en' => '',
    'iso' => '',
  ),
  'country' =>
  array (
    'id' => 0,
    'iso' => '',
    'lat' => 0,
    'lon' => 0,
    'name_ru' => '',
    'name_en' => '',
  ),
)array (
  'city' =>
  array (
    'id' => 0,
    'lat' => 0,
    'lon' => 0,
    'name_ru' => '',
    'name_en' => '',
  ),
  'country' =>
  array (
    'id' => 0,
    'iso' => '',
  ),
)array (
  'Created' => '2016.05.07',
  'Timestamp' => 1462585044,
  'Charset' => 'utf-8',
  'Type' => 'SxGeo City EN',
  'Byte Index' => 224,
  'Main Index' => 1775,
  'Blocks In Index Item' => 958,
  'IP Blocks' => 1700145,
  'Block Size' => 6,
  'City' =>
  array (
    'Max Length' => 119,
    'Total Size' => 3088442,
  ),
  'Region' =>
  array (
    'Max Length' => 175,
    'Total Size' => 113208,
  ),
  'Country' =>
  array (
    'Max Length' => 147,
    'Total Size' => 9387,
  ),
)


Причем, я попробовал скачать новою версию с сайта, и положить все отдельно но и там ситуация не поменялась
sxgeo_sample.php выдает только нули

куда смотреть в данной ситуации ума не приложу, может кто подскажет свежие идеи ? :)
kiberwow
 
Сообщения: 2
Зарегистрирован: 19.07.2016 10:45:32

Re: Выдает только пусто

UNREAD_POST kiberwow » 19.07.2016 11:09:43

так-же есть еще вариант ответа, но файлик то sxgeo_sample.php и ip определяется ...

Код: Выделить всё
'178.57.116.138'<br />
<b>Warning</b>: fread(): Length parameter must be greater than 0 in <b>/home/users/y/yuri-prkf/domains/*****/SxGeo/SxGeo.php</b> on line <b>164</b><br />
falsefalsearray (
'Created' => '2016.05.07',
'Timestamp' => 1462585044,
'Charset' => 'utf-8',
'Type' => 'SxGeo City EN',
'Byte Index' => 224,
'Main Index' => 1775,
'Blocks In Index Item' => 958,
'IP Blocks' => 1700145,
'Block Size' => 6,
'City' =>
array (
'Max Length' => 119,
'Total Size' => 3088442,
),
'Region' =>
array (
'Max Length' => 175,
'Total Size' => 113208,
),
'Country' =>
array (
'Max Length' => 147,
'Total Size' => 9387,
),
)
kiberwow
 
Сообщения: 2
Зарегистрирован: 19.07.2016 10:45:32

Re: Выдает только пусто

UNREAD_POST zapimir » 19.07.2016 18:07:45

Скорее всего у вас включен режим mbstring.func_overload > 0
В таком случае, перед вызовом new SxGeo добавьте строку
Код: Выделить всё
mb_internal_encoding("8bit");
zapimir
Site Admin
 
Сообщения: 1627
Зарегистрирован: 01.10.2009 22:39:52

Re: Выдает только пусто

UNREAD_POST Geograph » 14.12.2016 21:14:59

Похожая проблема,
на ксампе работает без вопросов, на хосте отказывается, PHP5.2, все в одной папке, на папке и файлах 777,
API и .dat скачаны пару дней назад, все актуальное

тестовый файл:
Код: Выделить всё
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title>GEOinformer</title>
<style type="text/css">
.informer {
font-size: 12px;
color: #000;
   }
</style>
</head>
<body>
<div class="informer">

<?php

include("SxGeo.php");
mb_internal_encoding("8bit");       // По форумным советам добавлено

$SxGeo = new SxGeo('SxGeoCity.dat');
$ip = $_SERVER['REMOTE_ADDR'];
$country = $SxGeo->getCountry($ip);
$Full = $SxGeo->getCityFull($ip);

echo "{$Full['city']['name_ru']}", ', ' ,"{$Full['region']['name_ru']}", ', ' ,"{$Full['country']['name_ru']}";
echo '<p> </p>';

                               // Все, что ниже, добавлено для тестирования работы скрипта
var_dump ($country);
var_dump($ip);
var_dump($city);
echo '<p> </p>';
var_export($SxGeo->getCityFull($ip));
echo '<p> </p>';
var_export($SxGeo->about());
?>
</div>
</body>
</html>


На что получен ответ:
Код: Выделить всё
, ,
 
array ( 'city' => array ( 'id' => 0, 'lat' => 0, 'lon' => 0, 'name_ru' => '', 'name_en' => '', ), 'region' => array ( 'id' => 0, 'name_ru' => '', 'name_en' => '', 'iso' => '', ), 'country' => array ( 'id' => 0, 'iso' => '', 'lat' => 0, 'lon' => 0, 'name_ru' => '', 'name_en' => '', ), )

string(0) "" string(13) "31.210.100.208" NULL

array ( 'Created' => '2016.09.17', 'Timestamp' => 1474117168, 'Charset' => 'utf-8', 'Type' => 'SxGeo City EN', 'Byte Index' => 224, 'Main Index' => 1775, 'Blocks In Index Item' => 958, 'IP Blocks' => 1700425, 'Block Size' => 6, 'City' => array ( 'Max Length' => 119, 'Total Size' => 3089062, ), 'Region' => array ( 'Max Length' => 175, 'Total Size' => 112670, ), 'Country' => array ( 'Max Length' => 147, 'Total Size' => 9387, ), )


Как понимаю, ПХП работает, айпи определяется, инклюд происходит, апи не отвечает в строку.
Посоветуйте, куда копать?
Geograph
 
Сообщения: 4
Зарегистрирован: 14.12.2016 20:28:52

Re: Выдает только пусто

UNREAD_POST Geograph » 16.12.2016 21:01:07

Вдогонку, к предыдущему сообщению.
Добавлю, что тестовое размещение на сервере (то, что отказывается работать), находится под управлением Nginx, в отличие от домашнего xampp, основанного на Apache.

Не силен в тонкостях данного АПИ, но возможно ли, что причина кроется именно в разнице работы этих серверов?
Geograph
 
Сообщения: 4
Зарегистрирован: 14.12.2016 20:28:52

Re: Выдает только пусто

UNREAD_POST Geograph » 24.12.2016 23:07:42

Все нормально, работает с базой ГеоКантри. Есть особенности, связанные с размещением на бесплатном хостинге (касается прописки путей до базы от корня), однако вопрос с определением страны по айпи для собственной статистики решен.
Geograph
 
Сообщения: 4
Зарегистрирован: 14.12.2016 20:28:52


Вернуться в Проблемы и баги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Яндекс.Метрика