Fatal error: Allowed memory size

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Fatal error: Allowed memory size

Сообщение MIT »

Raisin писал(а):512 тоже мало и гиг мало...
Ребят, вот у меня складывается ощущение, что один просто жалуется, а другие просто поддерживают разговор. Причём проблему решить никто не пытается и не читает даже ошибок, не то что моих сообщений.
Ну написал же скрипт:
tried to allocate 1853187651 bytes
Причём тут гадания на кофейной гуще? Чётко и ясно написано, что скрипт попытался получить 1.73 гигабайта.

И о методах локализации проблемы я писал. И о возможных её причинах. И о невозможных тоже.
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: Fatal error: Allowed memory size

Сообщение Slash »

MIT писал(а):Чётко и ясно написано, что скрипт попытался получить 1.73 гигабайта.
Это я прочитал, по этому и ставил:
Raisin писал(а):php_value memory_limit 2048M
MIT писал(а):И о методах локализации проблемы я писал.
Да. Именно по этим методам я и пытаюсь найти источник нагрузки, просто после каждого отключенного мода необходимо время, примерно 12 - 24 часа, так как ошибка дает о себе знать не постоянно, а 3-4 раза в сутки.
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Fatal error: Allowed memory size

Сообщение Balamut »

чтобы быстрее найти причину, сначала локализуйте, где она находится.

Например, понаблюдайте, сколько памяти ест faq (практически не трогая БД), список пользователей (который не трогает темы и топики), ЛС, профиль и так далее и тому подобное.

Это может очень сильно сократить круг поисков.
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: Fatal error: Allowed memory size

Сообщение Slash »

Smayliks, благодарю за совет, действительно, так было быстрее найти куда копать. Эту ошибку я замечал только на главной странице (но возможно она появлялась и на других), поэтому начал с нее... Отключал (если мод без вкл/выкл, то удалял полностью) Last post topic on index for phpBB3, Выпадающие меню, Темы с новыми постами и так далее. Но ошибка появлялась все ровно. Затем отключал все остальные моды - ошибка появляется. В переписки с хостером, продолжает говорить, что у них проблем нет.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Fatal error: Allowed memory size

Сообщение Пчелкин »

Слуш...а мож у тебя шибко много в файлах ссылок на вытягивание различных скриптов с других сайтов или ресурсов? Ну, типа, проигрывателей, гляделок, библиотек и прочего? Покопай в эту сторону....Проверь, например, что б все явки тянулись именно с твоего хоста, а не черт знает откуда....Ну и остальное...
Например вот еще одна штука - при версии 3.0.11 по всем форумам по тихой переправляю ссылки в файлах форумов из типа

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/
в

Код: Выделить всё

<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/
В версии 3.0.11 эти замены реально оптимизируют запросы...
И еще малость -
ЭТУ ТРЕБУХУ в overall_header

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
<head>

<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-language" content="{S_USER_LANG}" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2000, 2002, 2005, 2007 phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9" />
{META}
замени на типа (смотри как тебе необходимо и что есть)

Код: Выделить всё

<!DOCTYPE html>
<html lang=ru>
<head>
<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta name="keywords" content="<!-- IF SEO_KEY -->{SEO_KEY}<!-- ENDIF -->" />
<meta name="description" content="<!-- IF SEO_DESC -->{SEO_DESC}<!-- ENDIF -->" />
{META}
Можно еще проще -

Код: Выделить всё

<!DOCTYPE html>
<html lang=ru>
<head>
{META}
Так как остальное - суета...
Уже пора на ХТМЛ 3 оглобли направлять...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Fatal error: Allowed memory size

Сообщение MIT »

Пчелкин писал(а):а мож у тебя шибко много в файлах ссылок на вытягивание различных скриптов с других сайтов или ресурсов?
К потреблению памяти это не имеет отношения.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Fatal error: Allowed memory size

Сообщение Пчелкин »

MIT писал(а):это не имеет
В курсе...но выполнение дурацких запросов - имеет...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Fatal error: Allowed memory size

Сообщение c61 »

Raisin, из спортивного интереса немного полазил по Вашей конференции, обнаружил ошибки:
  1. файл http://danfa.ru/highslide/highslide.css, строка 768, нет закрывающей кавычки

    Код: Выделить всё

    background: url("graphics/scrollarrows.png) left center no-repeat;
  2. Пару раз попал на ошибку "bad gateway", хотя на конференции никого не было. Так что припомню (в очередной раз) насчет соседей - кто-то подсаживает остальных.
  3. После перехода по ссылке "Каталог файлов" начинается лажа, при нажатии на ссылочки вверху слева (там где "Наши баннеры", "Реклама" и др.) попадаем на страницу 404, ибо url ошибочный, типа http://danfa.ru/dm_eds/viewtopic.php?f=16&t=76, "/dm_eds" лишний, в результате при обработке страницы 404 творится явная ерунда
    (P.S. по моему мнению Вы зря с активаторами светитесь, для этого есть forum.ru-board.com)
  4. По теме "жора" памяти - уже упоминал: это ненормально, когда на FAQ тратится от 35 запросов и даже на страницу 404 до 16. В связи с этим вопрос: ошибка с нехваткой памяти проявляется под админом/модером или простые пользователи тоже её ловят ?
  5. И ещё: что выполняется по расписанию в phpBB ? Уж не запускается ли создание какого-то бэкапа или ещё что объёмное... или нечто периодически запускается в результате какой-то ошибки...
Напомню также, что ошибка у Вас стала проявляться после переезда. Не выполняются ли запросы к серверу mysql с буферизацией ? Если да - будет колоссальный жор памяти на запросах. См., например, PDO - если PDO::MYSQL_ATTR_USE_BUFFERED_QUERY по умолчанию 1 (а это зависит от хостера), на больших выборках может быть обсуждаемая ошибка. Надо пытать хостера !
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: Fatal error: Allowed memory size

Сообщение Slash »

c61, очень Вам спасибо. За найденные ошибки, за совет с активаторами сегодня же уберу активаторы.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Fatal error: Allowed memory size

Сообщение MIT »

c61 писал(а):См., например, PDO
phpBB3 не использует PDO.
c61 писал(а):MYSQL_ATTR_USE_BUFFERED_QUERY
Использование PDO с этим флагом эквивалентно вызову обычной mysql_query (в отличии от mysql_unbuffered_query), которая используется всюду. И колоссальным жор памяти может быть только при необдуманно огромных выборках.
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: Fatal error: Allowed memory size

Сообщение Slash »

MIT писал(а):необдуманно огромных выборках
Боюсь спросить: что это значит?
А в это время вылез еще один гемор, теперь просит памяти еще больше:

Код: Выделить всё

[18-May-2013 05:29:04 Europe/Moscow] PHP Fatal error:  Allowed memory size of 2147483648 bytes exhausted (tried to allocate 8053063680 bytes) in /home/bh49858/public_html/includes/startup.php on line 84
Опять с указанием на файл includes/startup.php, 84 строка:

Код: Выделить всё

			if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
Добавлено спустя 15 минут 8 секунд:
Сейчас смотрели у еррол_лог у друга (сидит на том же хостинге со вчерашнего дня (форум без модов, да он вообще пустой)) и у него та же ошибка мелькает:

Код: Выделить всё

[17-May-2013 23:41:15 Europe/Moscow] PHP Warning:  require(./includes/startup.) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in /home/bh49995/public_html/common.php on line 19
[17-May-2013 23:41:15 Europe/Moscow] PHP Warning:  require(./includes/startup.) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in /home/bh49995/public_html/common.php on line 19
[17-May-2013 23:41:15 Europe/Moscow] PHP Fatal error:  require() [<a href='function.require'>function.require</a>]: Failed opening required './includes/startup.' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/bh49995/public_html/common.php on line 19
Файл startup.php находится на своем месте, да все файлы на своих местах. Походу косячит все же хостер.... К тоже на форуме ни кого нет, вчера вечером только был установлен: doctorvet.net
Последний раз редактировалось Slash 18.05.2013 4:56, всего редактировалось 1 раз.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Fatal error: Allowed memory size

Сообщение MIT »

Raisin писал(а):Боюсь спросить: что это значит?
Ну, это что-то вроде SELECT * FROM phpbb3_posts, то есть выборка заведомо большого объёма данных. Либо неаккуратные JOIN`ы: ведь они могут вызывать многократный рост количества получаемой информации.
Raisin писал(а):8053063680 bytes
Нифига себе.

У тебя эти ошибки в разное время появляются или, всё же, в примерно одно и то же?
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: Fatal error: Allowed memory size

Сообщение Slash »

MIT писал(а):У тебя эти ошибки в разное время появляются или, всё же, в примерно одно и то же?
Они появляются в разное время. Экспериментировал, убрал все лимиты из .htaccess на ночь, утром проверяю ошибок нет, во время обеда ошибка появилась, бывало за ночь несколько ошибок выйдет, а за день всего одна. В общем по всякому.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Fatal error: Allowed memory size

Сообщение c61 »

MIT писал(а):phpBB3 не использует PDO.
Использует для sqlite. PDO здесь было для примера. Может, есть внешний код или мод с PDO или буферизированными запросами))
MIT писал(а):Использование PDO с этим флагом эквивалентно вызову обычной mysql_query (в отличии от mysql_unbuffered_query), которая используется всюду. И колоссальным жор памяти может быть только при необдуманно огромных выборках.
См. http://php.net/manual/en/mysqlinfo.conc ... fering.php
Если нет $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);и умолчание true (так собрали), будет жор памяти.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Fatal error: Allowed memory size

Сообщение MIT »

Raisin писал(а):и у него та же ошибка мелькает
Ну не та же.
c61 писал(а):будет жор памяти
Хм, слушай, может это баг самого PHP или его модуля? Смотри: если идёт циклическая обработка большого массива данных (PHP код), то tried to allocate будет указывать небольшой объём памяти, несколько байт-мегабайт, необходимых только на текущую итерацию, а не на весь объём. А тут сразу несколько гигов отжирается. Причём даже если баг был бы в internal-коде, то строка, на которой ошибка вываливается, должна что-то подсказать. А тут указывается на строку, где ничего не происходит...

Raisin, можешь phpinfo приложить?

Вернуться в «Поддержка phpBB 3.0.х»