Периодически Возникает Ошибка 500 На Сайте

Приветствую всех!

Проблема в следующем: на сайте (и на фронтэнде и на бэкэнде) периодически возникает "Внутренняя ошибка 500". Воспроизвести её умышленно не получается. Всплесков (каких-то нереальных) посещаемости нет. Всё штатно, но тем не менее она периодически возникает.

Эррор лог на сервере смотрел. Всё, что там видно, это периодически появляется строка вида:

--------------------------------

[Tue Sep 12 16:42:49 2017] [error] [client 37.75.200.44] Premature end of script headers: index.php, referer: https://site.ru/url1/

--------------------------------

Где url1 - разные страницы сайта (и страницы товара, и категории).

Когда точно ошибка начала появляться, сказать не могу. Возможно, это связано с обновлением (не факт) до 4.6.2.

"Журнал событий" на сайте при беглом осмотре ответа не дал. Знать бы еще, что искать там.

Прошу помощи "знатоков". Где копать? Заранее благодарен!

Прошу помощи "знатоков". Где копать? Заранее благодарен!

Именно такой ошибки не было. Я бы загуглил https://yandex.ru/search/?text=Premature%20end%20of%20script%20headers&&lr=213

когда скрипт превышает допустимое время, которое ему отвели (30 секунд или смотрите сколько в настройках) - обычно и начинают валиться эти Premature end of script headers
А нехватает обычно из-за ограниченных ресурсов сервера, когда боты начинают обход сайта или в час пик. Или действительно какой-то запрос на сервере очень тяжёлый выполняется (лочит базу в этот момент), а все остальные запросы стоят и ждут, и в конце концов отваливаются по таймауту

Я поубавил нагрузку забанив в htaccess ботов мусорных.

Именно такой ошибки не было. Я бы загуглил https://yandex.ru/search/?text=Premature%20end%20of%20script%20headers&&lr=213

Я поубавил нагрузку забанив в htaccess ботов мусорных.

Насчет "загуглил" - правильное замечание. Что-то я "стормозил". Ясности прибавилось.

Как вычисляли "мусорных" ботов? Банили просто по IP? Можно с примером? Заранее благодарен...

<blockquote  class="ipsBlockquote" data-author="Saboteur" data-cid="284293" data-time="1505236572">
<p>Именно такой ошибки не было. Я бы загуглил <a data-ipb='nomediaparse' href='https://yandex.ru/search/?text=Premature%20end%20of%20script%20headers&&lr=213'>https://yandex.ru/search/?text=Premature%20end%20of%20script%20headers&&lr=213</a></p>
<p> </p>
<div> </div>
<p>Я поубавил нагрузку забанив в htaccess  ботов мусорных. </p>
<div> </div>
</blockquote>

Как вычисляли "мусорных" ботов? Банили просто по IP? Можно с примером? Заранее благодарен...

RewriteEngine on
# Блокируем плохие боты
SetEnvIfNoCase User-Agent "Aboundex" bad_bot
SetEnvIfNoCase User-Agent "SemrushBot" bad_bot
SetEnvIfNoCase User-Agent "AhrefsBot" bad_bot

Блокируем ненужные поисковики

SetEnvIfNoCase User-Agent “Baiduspider” bad_bot

Order Allow,Deny Allow from all

Deny from env=bad_bot

Ставим в самый верх htaccess. Ну и в логах посмотри юзерагенты ботов которые заходят конкретно на твой сайт, ну за исключением яндекса и гугла :)

Здравствуйте. У меня такая же история начала периодически возникать.
После очередных обновлений модулей стала возникать 500 ошибка. Причём очень часто.
В логах нашёл вот это:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 1253376 bytes) in /var/www/domains/мойдомен.ru/app/Tygh/Backend/Database/Mysqli.php on line 79, referer: https://мойдомен.ru/файладминки.php
Подскажите, что с этим делать и как победить?

В файле app/Tygh/Bootstrap.php увеличьте значение директивы memory_limit

Если не поможет, то искать, кто столько памяти кушает

Будете смеяться, но он пустой.
Там есть только вот такое:
[object Object]
и всё.
Может такое быть что это ссылка на другой файл?
Я могу с другого сервера скопировать, но может это какой то модуль так делает?
На днях обновлял модули от AB.

Файл перезалил.
Нашёл строки:
// Set maximum memory limit
if (PHP_INT_SIZE == 4 && self::getIniParam(‘memory_limit’, Bootstrap::INI_PARAM_TYPE_BYTE) < 64 * 1024 * 1024) {
// 32bit PHP
@ini_set(‘memory_limit’, ‘64M’);
} elseif (PHP_INT_SIZE == 8 && self::getIniParam(‘memory_limit’, Bootstrap::INI_PARAM_TYPE_BYTE) < 256 * 1024 * 1024) {
// 64bit PHP
@ini_set(‘memory_limit’, ‘256M’);
}

В каком месте нужно менять значение memory_limit ?

После указанного вами кода добавьте строчку

@ini_set('memory_limit', '512M');

Спасибо, но не помогло. Сразу свалилось на внутреннюю ошибку 500 service unavailable
В логах значение увеличилось, но ситуация не поменялась:
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 1253376 bytes) in /var/www/domains/мойдомен.ru/app/Tygh/Backend/Database/Mysqli.php on line 79

А может у вас дебаггер включён?

Как проверить?
Я точно ничего не включал.

На странице видна иконка жука в правом верхнем углу?

Нету.
Есть другая, но она от модуля AB:Preload:

Screenshot_290

Кавычки неправильные были. Пост поправил. Попробуйте еще побольше значение поставить, 1024, например. Но искать что за запрос столько памяти есть полюбому надо

Спасибо. Уже восстановился из бэкапа.