Проблема с файлом Load.php

Автор Aptemuda.ru, 27 марта 2013, 00:43:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Aptemuda.ru

В ошибках читаю:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8080076 bytes) in .../Sources/Load.php on line 2599


Вот эта строка:
$value = $value === null & null : serialize($value);


Load.php - The file used to load nearly every page of an SMF forum.

Подскажите в чем проблема и как её решить?
Увеличивал память, до требуемого объема, но она все равно растет и хочет все больше.
Заранее спасибо за ответ.
Женский портал АРТЕМИДА
"Всe о роддомах и врачах роддомов Ростова-на-Дону"
http://aptemuda.ru

Жека

В php по одной строчке практически никогда не понять в чём проблема.
Нужно хотябы от начала фукнции приводить код:

Цитировать
function cache_put_data($key, $value, $ttl = 120)
{
   global $boardurl, $sourcedir, $modSettings, $memcached;
   global $cache_hits, $cache_count, $db_show_debug, $cachedir;

   if (empty($modSettings['cache_enable']) && !empty($modSettings))
      return;

   $cache_count = isset($cache_count) ? $cache_count + 1 : 1;
   if (isset($db_show_debug) && $db_show_debug === true)
   {
      $cache_hits[$cache_count] = array('k' => $key, 'd' => 'put', 's' => $value === null ? 0 : strlen(serialize($value)));
      $st = microtime();
   }

   $key = md5($boardurl . filemtime($sourcedir . '/Load.php')) . '-SMF-' . strtr($key, ':', '-');
   $value = $value === null ? null : serialize($value);
Как видно из кода, нужно для начала попробовать очистить кэш.
Если не поможет, попробовать выключить кэш.

Если не поможет, значит какой-то мод пытается сохранить в кэш что-то огромное.
Включить режим дебага, попробовать посмотреть, хотя тогда скорее всего будет падать уже на строке: $cache_hits[$cache_count] = array('k' => $key, 'd' => 'put', 's' => $value === null ? 0 : strlen(serialize($value)));

Aptemuda.ru

ЦитироватьКак видно из кода, нужно для начала попробовать очистить кэш.
Если не поможет, попробовать выключить кэш.

1)Очищал кеш - не помогло.
2)Выключил кеш - помогло
СПАСИБО

Теперь возник вопрос...
Почему при включенном кеше выскакивает ошибка?
И как можно восстановить, что бы кеш работал?
Женский портал АРТЕМИДА
"Всe о роддомах и врачах роддомов Ростова-на-Дону"
http://aptemuda.ru

Жека

Поднять локально копию базы, включить кэш, удостоверится, что ошибка появляется.

По одному отключать установленные моды и проверять наличие ошибки.

Еще можно попробовать перед строчкой, на которой падает, вставить:
print_r($value);

Не уверен, что выведет значение, но попробовать стОит.