не определяется флаг и страна игрока в сорсбансе

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Ответить
Сообщение
Автор
pihmih
Лейтенант
Лейтенант
Сообщения: 109
Зарегистрирован: 07.05.2011
Поблагодарили: 4 раза

#1 Сообщение 12.07.2012, 18:10

Здраствуйте. Если убираю галочку "Откл. Поиск страны" появляется ошибка в банлисте
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 40961 bytes) in /var/www/xxxxxxx/data/www/xxxx.myarena.ru/bans/includes/system-functions.php on line 689
Что можно исправить?

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#2 Сообщение 12.07.2012, 18:11

Открыть файл system-functions.php на 689 строке и посмотреть на функцию.

pihmih
Лейтенант
Лейтенант
Сообщения: 109
Зарегистрирован: 07.05.2011
Поблагодарили: 4 раза

#3 Сообщение 12.07.2012, 18:52

Renaissance писал(а):Открыть файл system-functions.php на 689 строке и посмотреть на функцию.
Первым делом сделал. Изменил размер буфера с 40960 байта на 4000000000. Короче всяко с этой цифрой играл, ничего не спасает. функция выглядит так:
function FetchIp($ip)
{
$ip = ip2long($ip);
if(!isset($_SESSION['CountryFetchHndl']) || !is_resource($_SESSION['CountryFetchHndl'])) {
$handle = fopen(INCLUDES_PATH.'/IpToCountry.csv', "r");
$_SESSION['CountryFetchHndl'] = $handle;
}
else {
$handle = $_SESSION['CountryFetchHndl'];
rewind($handle);
}

if (!$handle)
return "zz";

$row = 1;
while (($buffer = fgets($handle, 4096)) !== FALSE) { /// 689 строка!!!!
$array[$row] = substr($buffer, 1, strpos($buffer, ",") - 1);
$row++;
}

$row_lower = '0';
$row_upper = $row;
while (($row_upper - $row_lower) > 1) {
$row_midpt = (int) (($row_upper + $row_lower) / 2);
if ($ip >= $array[$row_midpt]) {
$row_lower = $row_midpt;
} else {
$row_upper = $row_midpt;
}
}

Аватара пользователя
mihaput
Майор
Майор
Сообщения: 509
Зарегистрирован: 11.11.2009
Откуда: http://stat.kristal-lab.ru
Благодарил (а): 5 раз
Поблагодарили: 40 раз

#4 Сообщение 12.07.2012, 19:35

del
Последний раз редактировалось mihaput 12.07.2012, 19:57, всего редактировалось 1 раз.
ИзображениеИзображение
Изображение

-----------
Gigabyte Z77P-D3/i7-3770 3.4MHz (4.1MHz)/Geforce GTX 760 2Gb 256Bit/6Gb Ram/OS Windows 8.1

pihmih
Лейтенант
Лейтенант
Сообщения: 109
Зарегистрирован: 07.05.2011
Поблагодарили: 4 раза

#5 Сообщение 12.07.2012, 19:47

Вопрос решил. Тех потдержка ответила:Здравствуйте. Для данной функции требуется больше оперативной памяти, тариф стандарт не подходит.

oblomkrs
Майор
Майор
Сообщения: 775
Зарегистрирован: 02.07.2011
Благодарил (а): 4 раза
Поблагодарили: 32 раза

#6 Сообщение 12.07.2012, 21:49

pihmih писал(а):Вопрос решил. Тех потдержка ответила:Здравствуйте. Для данной функции требуется больше оперативной памяти, тариф стандарт не подходит.
Вот это они мазанулись)У меня 200 метров оперативы на хосте 500 герц проц стоит стата серсбанс и сайт на дле и хватает всего)
Качественный хостинг OPTIBIT в Красноярске
NOVOSIBIRSK-CSS.RU|Only DUST2[NSK] ip:46.38.63.119:27015
NOVOSIBIRSK-CSS.RU|Only $2000$+AWP LEGO[NSK] ip:46.38.63.119:27016

Ответить