Решение ошибки PHP Fatal error: Allowed memory size exhausted в WordPress

Ошибка PHP Fatal error: Allowed memory size exhausted — одна из самых частых проблем, с которыми сталкиваются пользователи WordPress. Она возникает, когда скрипт превышает лимит выделенной памяти PHP на сервере, из-за чего сайт перестает корректно работать или вовсе падает с белым экраном.

Почему возникает ошибка Allowed memory size exhausted

Основная причина — недостаточно выделенной оперативной памяти для выполнения PHP-скриптов. В WordPress это может происходить из-за тяжелых плагинов, тем с большим количеством функций, неправильных настроек или пиковых нагрузок.

Например, если на сайте установлен плагин, который обрабатывает большое количество данных (например, Clearfy Pro для оптимизации и исправления ошибок), и при этом лимит памяти установлен слишком низко, то можно столкнуться с данной ошибкой.

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

Как проверить текущий лимит памяти PHP

Для начала нужно узнать, сколько памяти выделено на выполнение PHP-скриптов. Для этого можно создать простой файл phpinfo.php с содержимым:

<?php
phpinfo();
?>

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

Если значение слишком маленькое (например, 32M), то его стоит увеличить.

Способы увеличения лимита памяти PHP в WordPress

Вот несколько методов, которые помогут увеличить лимит памяти:

1. Изменение wp-config.php

Добавьте или измените строку в вашем wp-config.php перед /* That's all, stop editing! Happy blogging. */:

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

Это увеличит лимит памяти для фронтенда сайта.

2. Изменение php.ini

Если у вас есть доступ к файлу php.ini на сервере, найдите директиву memory_limit и измените ее:

memory_limit = 256M

После изменений перезапустите веб-сервер.

3. Файл .htaccess

Если используется Apache и разрешена директива, добавьте в .htaccess в корне сайта:

php_value memory_limit 256M

4. Через панель управления хостингом

Многие хостинги позволяют менять лимиты памяти через свои панели управления. Например, в разделе PHP-настроек укажите нужное значение памяти.

Пример функции для динамического увеличения памяти в WordPress

Вы можете добавить в файл functions.php вашей темы или в собственный плагин следующий код, чтобы попытаться увеличить лимит памяти программно:

function wperror_increase_memory_limit() {
    if (ini_get('memory_limit') < '256M') {
        ini_set('memory_limit', '256M');
    }
}
add_action('init', 'wperror_increase_memory_limit');

Это не всегда сработает, если на уровне сервера установлены жесткие ограничения, но может помочь в некоторых случаях.

Оптимизация сайта для снижения потребления памяти

Увеличение памяти — это не всегда лучший путь. Часто стоит оптимизировать сайт, чтобы уменьшить нагрузку:

  • Удалите или деактивируйте тяжелые и неиспользуемые плагины.
  • Используйте кеширование. Например, плагин Clearfy Pro умеет оптимизировать загрузку и отключать лишние скрипты.
  • Оптимизируйте изображения и медиа-файлы.
  • Используйте темы с хорошо оптимизированным кодом, например Reboot.
  • Проверьте кастомный код на наличие бесконечных циклов и неоптимальных запросов.

Диагностика с помощью плагинов

Для диагностики проблем с памятью можно использовать плагины:

  • Query Monitor — показывает использование памяти и медленные запросы.
  • WP Debugging — помогает выявить ошибки и предупреждения, связанные с памятью.

Установка Query Monitor:

function wperror_install_query_monitor() {
    if ( !is_plugin_active('query-monitor/query-monitor.php') ) {
        include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
        activate_plugin('query-monitor/query-monitor.php');
    }
}
add_action('admin_init', 'wperror_install_query_monitor');

Выводы и рекомендации

Ошибка Allowed memory size exhausted — сигнал о том, что WordPress не хватает выделенной памяти для обработки запросов. Увеличение лимита памяти — первое решение, но важно также оптимизировать сайт, чтобы снизить нагрузку.

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

Решение ошибки WP AJAX Timeout в WordPress: причины и методы устранения
10.03.2026
Решение ошибки WP Mail SMTP в WordPress
23.01.2026
Как исправить ошибку Allowed memory size exhausted в WordPress
28.11.2025
Решение ошибки Error Establishing a Database Connection в WordPress
14.11.2025
WooCommerce: как исправить проблему с автоматическим удалением товаров из корзины
05.06.2026