Увеличение лимита памяти PHP в WordPress: полный практический гид
.jpg)
О чём эта статья
Эта статья объясняет, почему появляется ошибка лимита памяти PHP в WordPress, какие есть простые способы её исправить и как избежать повторного возникновения. Вы получите две основные рабочие инструкции (wp-config и PHP Selector), рекомендации по резервированию и отладке, чеклисты для ролей (владелец, администратор, разработчик), а также дерево решений для быстрой диагностики.
Почему возникает PHP memory limit error
Кратко: сервер выделяет для исполнения PHP-скриптов ограниченное количество памяти. Когда плагины или темы выполняют тяжёлые операции (импорт данных, обработка изображений, сложные запросы), потребление памяти растёт. Если оно превышает значение параметра memory_limit — появляется ошибка.
Определения в одну строку:
- PHP memory limit — максимальный объём оперативной памяти, который скрипт PHP может потреблять.
- wp-config.php — файл конфигурации WordPress в корневой директории сайта.
Важно: это не «память диска» (storage). Речь про оперативную память (RAM) процесса PHP.
Распространённые признаки ошибки
- Белый экран (WSOD) или сообщение «Allowed memory size of X bytes exhausted».
- Падение административной панели при выполнении определённых действий (импорт, обновление плагинов, генерация миниатюр).
- Ошибки при загрузке страниц с интенсивным динамическим контентом.
Быстрые меры предосторожности перед правками
- Сделайте резервную копию сайта (файлы + база данных).
- Выполняйте изменения в тестовой среде, если есть возможность.
- Уточните у хостинг-провайдера, есть ли жёсткий верхний предел, который нельзя изменить вручную.
Решение 1 — Увеличить PHP memory limit в файле wp-config.php
Это самый распространённый и безопасный путь для большинства сайтов.
Шаги:
- Подключитесь к файлам сайта через FTP-клиент или через File Manager в cPanel.
- Перейдите в корневую папку сайта (обычно public_html или директория с именем сайта).
- Найдите файл
wp-config.php. - Сделайте локальную копию этого файла для отката.
- Откройте
wp-config.phpв текстовом редакторе. - Найдите строку с
define( 'WP_MEMORY_LIMIT', '40M' );или вставьте её над строкой “That’s all, stop editing! Happy blogging.”.
Пример кода, который нужно вставить или изменить:
// Увеличиваем лимит памяти для WordPress
define( 'WP_MEMORY_LIMIT', '256M' );Пояснения:
- Частые значения: 64M, 128M, 256M. Для большинства магазинов и сложных сайтов 256M достаточно.
- Если вы решаете вопрос на VPS/выделенном сервере, убедитесь, что в конфигурации PHP (php.ini) максимумы не ниже требуемого.
После сохранения файла обновите сайт и проверьте, исчезла ли ошибка.
Проблемы и когда это не сработает
- Хостинг может принудительно ограничивать значение memory_limit на уровне сервера. Тогда изменение в
wp-config.phpне даст эффекта. - На некоторых управляемых хостингах доступ к
wp-config.phpесть, но системные ограничения держатся в php.ini или на уровне поставщика контейнеров.
Если после правки вы получаете ту же ошибку — переходите к следующему разделу или свяжитесь с техподдержкой хостинга.
Дополнение: редактирование через File Manager в cPanel
Если вы не используете FTP, войдите в cPanel:
- В cPanel выберите Files > File Manager.
- Откройте public_html и найдите
wp-config.php. - Выберите правку (Edit), внесите те же изменения и сохраните.
Решение 2 — Увеличить лимит памяти через PHP Selector в cPanel
Некоторые хостинги предоставляют удобный инструмент выбора версии PHP и настройки опций — PHP Selector.
Шаги:
- Войдите в cPanel.
- Перейдите в раздел Software > Select PHP Version > Options.
- Найдите параметр
memory_limitи выберите подходящее значение (например, 256M).
Если опция недоступна — значит хостинг не разрешает её менять через пользовательский интерфейс, и вам нужно обратиться в поддержку или сменить тариф.
Альтернативные решения и профилактика
Если вы не можете увеличить лимит вручную или это не помогает, рассмотрите следующие варианты:
- Отключите и поочерёдно включайте плагины, чтобы найти виновника (плагин с утечкой памяти).
- Оптимизируйте плагины и тему: уменьшите объём оперативных задач (экспорт/импорт за пакетами, оптимизация изображений заранее).
- Используйте кеширование (Object Cache, page cache) для снижения нагрузки.
- Переключитесь на план с выделенными ресурсами (VPS, облачный хостинг) или выберите провайдера с гарантируемой RAM.
- Настройте мониторинг использования памяти и логирование ошибок (error_log, WP_DEBUG) для проактивного контроля.
Практическая методология (mini-методология) для устранения ошибки
- Бэкап: экспорт файлов и базы.
- Диагностика: проверьте лог ошибок и точное сообщение об ошибке.
- Быстрая правка: попробуйте увеличить лимит через wp-config.php до 256M.
- Тест: воспроизведите действие, которое вызывало ошибку.
- Если не помогло — проверьте PHP Selector или свяжитесь с хостингом.
- Если лимит ограничен провайдером — обновление плана или смена хоста.
Дерево решений (быстрая диагностика)
flowchart TD
A[Появилась ошибка memory limit?] --> B{Да}
B --> C[Проверить сообщение об ошибке и лог]
C --> D{Можно редактировать wp-config.php?}
D -- Да --> E[Установить define''WP_MEMORY_LIMIT','256M'']
E --> F[Тестировать]
D -- Нет --> G{Есть доступ к PHP Selector?}
G -- Да --> H[Изменить memory_limit в PHP Selector]
G -- Нет --> I[Связаться с хостингом или сменить тариф]
F --> J{Ошибка ушла?}
J -- Да --> K[Готово]
J -- Нет --> L[Отключить плагины по очереди]
L --> M[Выявить проблемный плагин/операцию]
M --> N[Оптимизировать или заменить плагин]
N --> KРолевые чеклисты
Администратор сайта:
- Сделать полную резервную копию (файлы + БД).
- Проверить логи ошибок и точный текст исключения.
- Внести изменения в
wp-config.phpили PHP Selector. - Запустить тестовые сценарии (импорт, генерация миниатюр).
Разработчик:
- Проанализировать код темы и плагинов на утечки памяти.
- Добавить профайлинг (Xdebug, New Relic, Query Monitor).
- Предложить оптимизацию или lazy load для тяжёлых операций.
Владелец/не-техспец:
- Связаться с техподдержкой и описать проблему, приложить текст ошибки.
- По необходимости рассмотреть обновление тарифного плана.
- Попросить специалиста для проведения аудита плагинов.
Критерии приёмки
- Ошибка «Allowed memory size exhausted» больше не появляется при воспроизведении прежней операции.
- Сайт отвечает на те же операции в пределах приемлемого времени.
- Нет значительного увеличения времени отклика после увеличения лимита (если есть — провести профайлинг).
Когда не стоит просто увеличивать память (контрпример)
- Если у вас неограниченно растущие процессы — постоянное наращивание лимита только скрывает проблему (утечка памяти или неэффективный алгоритм).
- Если сайт на общем хостинге с низкими ресурсами — увеличение лимита может навредить другим клиентам и не пройти из-за ограничений провайдера.
Сопровождающие замечания по безопасности и приватности
- Изменение
wp-config.phpне влияет на конфиденциальность данных, но всегда сохраняйте резервные копии вне веб-директории. - Не публикуйте в логах пароли или чувствительные данные при отладке.
Короткая проверочная таблица (cheat sheet)
- Симптом: Allowed memory size exhausted — действие: увеличить WP_MEMORY_LIMIT до 256M.
- Симптом: Нет доступа к wp-config.php — действие: воспользоваться PHP Selector или связаться с хостингом.
- Симптом: После увеличения — всё равно ошибка — действие: проверка и отключение плагинов, профайлинг.
Глоссарий в одну строку
- memory_limit — настройка PHP, ограничивающая объём RAM для одного скрипта.
- wp-config.php — основной файл конфигурации WordPress.
- cPanel — панель управления хостингом с File Manager и PHP Selector.
Короткое резюме
Увеличение лимита памяти PHP через wp-config.php или PHP Selector — простая и часто рабочая мера. Если же хостинг накладывает жёсткие ограничения, нужно либо сменить тариф/провайдера, либо оптимизировать код и плагины. Используйте чеклисты и дерево решений для ускоренной диагностики.
Важно: всегда начинайте с резервной копии и тестовой среды, если это возможно.
Похожие материалы
Переход с Microsoft Office на WPS Office
Как изменить цвет текста с помощью CSS
CSS тени: box-shadow и text-shadow
Как встроить MP3 на сайт — HTML5, Google Drive, CMS
Начать сайт с HTML5 Boilerplate — быстрое руководство