Неустранимая ошибка WordPress: допустимый объем памяти 536870912 байт исчерпан (попытка выделить 77 байт) в файле wp-includes / wp-db.php в строке 1832

Недавно я заметил на своем сайте WordPress, что иногда я получаю 500 внутренних ошибок сервера. Я проверил логи, и у меня есть много строк, таких как:

[Mon Oct 03 01: 25: 24.357439 2016] [fcgid: warn] [pid 12840] [клиент
83.27.211.107:36968] mod_fcgid: stderr: PHP Фатальная ошибка: допустимый объем памяти 536870912 байт исчерпан (попытался выделить 77 байт)
в /var/www/vhosts/mywebsite/public_html/wp-includes/wp-db.php онлайн
1832

Я пытался увеличить лимит памяти:

define (‘WP_MAX_MEMORY_LIMIT’, ‘512M’);

define (‘WP_MEMORY_LIMIT’, ‘512M’);

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

Содержимое include / wp-db.php:

} else {
$num_rows = 0;
if ( $this->use_mysqli && $this->result instanceof mysqli_result ) {
while ( $row = mysqli_fetch_object( $this->result ) ) {
$this->last_result[$num_rows] = $row;
$num_rows++;
}
} elseif ( is_resource( $this->result ) ) {
// server crashing at line below
while ( $row = mysql_fetch_object( $this->result ) ) {
$this->last_result[$num_rows] = $row;
$num_rows++;
}
}

// Log number of rows the query returned
// and return number of rows selected
$this->num_rows = $num_rows;
$return_val     = $num_rows;
}

2

Решение

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

1

Другие решения

У меня была такая же проблема с «wp-db.php в строке 1832«и отключение Плагин безопасности iThemes как уже упоминалось, у меня хорошо получалось. Однако, если вам все еще нужно защищать свой сайт, это не решение проблемы.

Что вам нужно сделать, это исправить разрешения каталогов для ключевых областей, таких как wp-content, wp-includes и т. Д.

Идти к iThemes Security настройки -> Файловые права (Настройка параметров) и проверьте, правильно ли установлены все разрешения. Как только вы исправите разрешения так, как они должны быть, вы больше не увидите эту ошибку.

1

Постоянная WP_MEMORY_LIMIT регулирует оперативную память для всех процессов PHP для WordPress для фронта и бэкэнда. Используйте это на виртуальном хостинге. Постоянная WP_MAX_MEMORY_LIMIT регулирует оперативную память только для бэкэнда. Ты используешь WP_MAX_MEMORY_LIMIT когда вы знаете, что у вас достаточно ОЗУ и можете использовать все это, например, на VPS-сервере, которым вы управляете.

Вернуться к

define( 'WP_MAX_MEMORY_LIMIT' , '128M' );
define( 'WP_MEMORY_LIMIT' , '64M' );

и удалите те запросы, которые вы выполняете (см. выше), и посмотрите, возвращается ли сайт. Если это так, это проблема; работа над этими запросами — это другая проблема.

Если это общий хостинг, вы убиваете сервер этими запросами; если это ваш собственный сервер, вам нужно настроить MySQL / PHP для кэширования и высоких нагрузок.

0

Отключить «Резервное копирование базы данных» в iThemes Security работает для меня.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector