Блог

Как исправить ошибку памяти PHP exhausted в WordPress

Ошибка PHP Fatal error: Allowed memory size exhausted относится к числу самых распространённых проблем в WordPress. Обычно она появляется после установки нового плагина, обновления темы или при выполнении ресурсоёмких операций в административной панели.

Многие владельцы сайтов сразу начинают увеличивать лимит памяти PHP до 512 МБ или даже 1 ГБ. Иногда это помогает, но часто такой подход лишь маскирует настоящую проблему.

Разберёмся, почему возникает ошибка памяти и как правильно её устранять.

Что означает ошибка PHP exhausted

Типичное сообщение выглядит примерно так:

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted

Если перевести на человеческий язык, WordPress или один из его компонентов попытался использовать больше оперативной памяти, чем разрешено настройками сервера.

Например:

  • лимит PHP установлен на 256 МБ;
  • плагин пытается использовать 300 МБ;
  • выполнение скрипта завершается ошибкой.

В результате пользователь может увидеть:

  • белый экран;
  • критическую ошибку WordPress;
  • ошибку 500;
  • недоступность административной панели.

Почему возникает ошибка памяти

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

На практике причин гораздо больше.

Чаще всего виновниками становятся:

  • тяжёлые плагины;
  • неудачные обновления;
  • ошибки в теме оформления;
  • импорт больших объёмов данных;
  • резервное копирование сайта;
  • WooCommerce на слабом хостинге;
  • плохо написанный пользовательский код.

Поэтому первое, что стоит понять: ошибка памяти далеко не всегда означает, что нужно покупать более дорогой тариф.

Как определить источник проблемы

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

Включите режим отладки WordPress.

В файле:

wp-config.php

найдите строку:

define('WP_DEBUG', false);

и замените её на:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

После появления ошибки проверьте файл:

wp-content/debug.log

Очень часто в журнале сразу видно проблемный плагин или конкретный файл.

Самое простое решение — увеличить лимит памяти

Если ошибка появилась после установки крупного плагина или интернет-магазина, иногда действительно достаточно увеличить лимит памяти.

В файл wp-config.php можно добавить:

define('WP_MEMORY_LIMIT', '256M');

или

define('WP_MEMORY_LIMIT', '512M');

Но здесь важно понимать одну вещь.

Если обычному блогу внезапно понадобилось 512 МБ памяти, проблема может быть вовсе не в лимите, а в неправильной работе одного из компонентов.

Проверьте настройки PHP на сервере

На некоторых хостингах WordPress не может самостоятельно изменить лимит памяти.

В этом случае необходимо проверить параметры PHP.

Обычно нужная настройка выглядит так:

memory_limit = 256M

Изменить её можно через:

  • панель управления хостингом;
  • файл php.ini;
  • настройки PHP в ISPmanager;
  • настройки PHP в cPanel.

После изменения параметров желательно перезапустить PHP или дождаться применения настроек хостингом.

Плагины — главный источник проблем

За последние годы я видел десятки случаев, когда увеличение памяти не решало проблему.

Причина была в конкретном плагине.

Особенно часто проблемы возникают у:

  • визуальных конструкторов;
  • SEO-плагинов с большим количеством модулей;
  • систем резервного копирования;
  • плагинов импорта данных;
  • некоторых модулей WooCommerce.

Если ошибка появилась недавно, вспомните:

  • какой плагин был установлен последним;
  • что обновлялось перед появлением проблемы.

Очень часто ответ находится именно там.

Отключите плагины для проверки

Если админка недоступна, подключитесь к сайту через FTP.

Откройте каталог:

wp-content

и переименуйте папку:

plugins

например в:

plugins_old

После этого все плагины будут отключены.

Если ошибка исчезла, причина находится в одном из расширений.

Дальше можно включать их по одному и искать виновника.

Проверьте тему оформления

Иногда проблема возникает после установки новой темы.

Особенно это касается многофункциональных шаблонов с собственными конструкторами страниц.

Для проверки временно активируйте стандартную тему WordPress:

  • Twenty Twenty-Five;
  • Twenty Twenty-Six;
  • Twenty Twenty-Seven.

Если ошибка исчезла, причина находится в теме или её дополнительных модулях.

WooCommerce и память PHP

Отдельно стоит сказать про WooCommerce.

Многие владельцы интернет-магазинов используют настройки памяти, подходящие для обычного блога.

Это ошибка.

Магазин создаёт значительно большую нагрузку.

Для WooCommerce обычно рекомендуется:

256 МБ минимум
512 МБ для крупных магазинов

Особенно если используются:

  • фильтры товаров;
  • интеграции с маркетплейсами;
  • системы аналитики;
  • массовый импорт продукции.

Когда увеличение памяти — плохое решение

Иногда вебмастер видит ошибку и сразу поднимает лимит до 1 ГБ.

Сайт начинает работать, но проблема остаётся.

На практике это часто означает:

  • утечку памяти в коде;
  • бесконечный цикл;
  • конфликт плагинов;
  • ошибки после обновления.

Если раньше сайту хватало 128 МБ, а сегодня внезапно требуется 1 ГБ, стоит искать причину, а не только увеличивать лимиты.

Как предотвратить ошибку памяти

Чтобы проблема не появлялась регулярно:

  • удаляйте неиспользуемые плагины;
  • обновляйте WordPress своевременно;
  • следите за журналом ошибок;
  • используйте качественный хостинг;
  • не устанавливайте тяжёлые плагины без необходимости;
  • тестируйте обновления на копии сайта.

Чем меньше лишнего кода работает на сайте, тем реже возникают проблемы с памятью.

Заключение

Ошибка PHP exhausted в WordPress обычно связана не столько с нехваткой памяти, сколько с неэффективной работой плагинов, тем или пользовательского кода. Увеличение лимита памяти может помочь, но рассматривать его стоит как временное решение. Гораздо важнее найти источник проблемы и устранить его. Именно такой подход позволяет сохранить стабильность сайта и избежать повторного появления ошибки в будущем.

Смотри ещё

Back to top button