Параметр memory_limit в PHP — это ограничение максимально допустимого объема оперативной памяти, который скрипт PHP может использовать во время выполнения. В WordPress этот параметр критически влияет на производительность и стабильность сайта, особенно при работе с тяжелыми плагинами, темами и большими объемами данных.
Почему важно увеличить PHP memory_limit в WordPress
Стандартное значение memory_limit в хостингах часто выставлено на 32M или 64M, что может быть недостаточно для современных сайтов на WordPress, особенно если на сайте установлены ресурсоемкие плагины, например, WooCommerce, Elementor или плагин для SEO.
Если памяти не хватает, вы можете столкнуться с ошибками типа "Allowed memory size exhausted", что приводит к сбоям в работе сайта, невозможности обновлять плагины, загружать медиафайлы или выполнять бэкапы.
Увеличение memory_limit позволяет избежать подобных проблем и улучшить производительность при выполнении сложных операций.
Как проверить текущее значение memory_limit в WordPress
Чтобы узнать текущее значение лимита памяти, можно воспользоваться простым PHP-скриптом. Создайте файл phpinfo.php с содержимым:
<?php
phpinfo();
?>Загрузите его на сервер и откройте в браузере. В разделе Core найдите параметр memory_limit. Также в админке WordPress в разделе "Инструменты" > "Состояние сайта" > "Сервер" можно увидеть текущее значение PHP memory_limit.
Способы увеличить PHP memory_limit для WordPress
1. Изменение через файл wp-config.php
Один из самых простых способов увеличить лимит памяти — добавить следующую строку в файл wp-config.php в корне сайта, перед строкой /* That's all, stop editing! Happy publishing. */:
define('WP_MEMORY_LIMIT', '256M');Это увеличит лимит памяти для фронтенда сайта до 256 мегабайт. Для админки можно задать отдельный лимит:
define('WP_MAX_MEMORY_LIMIT', '512M');<Этот параметр задает максимальный лимит памяти для административной панели, где часто требуются большие ресурсы.
2. Изменение в php.ini
Если у вас есть доступ к файлу php.ini на сервере, то найдите или добавьте строку:
memory_limit = 256MПосле изменения перезапустите веб-сервер (Apache/Nginx). Этот метод считается более надежным, так как задает лимит на уровне PHP.
3. Использование .htaccess (для Apache)
Если доступ к php.ini ограничен, можно добавить в .htaccess следующую строку:
php_value memory_limit 256MОднако этот способ работает только если PHP запущен в режиме Apache модулем. В противном случае он вызовет ошибку сервера.
4. Использование фильтра wpvip_increase_memory_limit
Можно создать собственный фильтр, который будет программно увеличивать лимит памяти. В файле functions.php вашей темы добавьте:
function wpvip_increase_memory_limit() {
@ini_set('memory_limit', '256M');
}
add_action('init', 'wpvip_increase_memory_limit');Это обеспечит увеличение лимита при инициализации WordPress.
Как проверить, что лимит памяти увеличен
Для проверки, что изменения применились, можно создать небольшой плагин или использовать следующий сниппет в functions.php:
function wpvip_show_memory_limit() {
echo '<div style="padding:10px;background:#f0f0f0;border:1px solid #ccc;margin:10px 0;">';
echo 'Текущий memory_limit: ' . ini_get('memory_limit');
echo '</div>';
}
add_action('admin_notices', 'wpvip_show_memory_limit');После добавления в админке WordPress вверху появится уведомление с текущим значением memory_limit.
Практические рекомендации по выбору значения memory_limit
Оптимальное значение лимита зависит от задач сайта:
- Блоги и простые сайты — 64–128M;
- Сайты с визуальными конструкторами (Elementor, Divi) — 256M;
- Интернет-магазины WooCommerce — 256–512M;
- Сайты с большим количеством плагинов и сложной логикой — 512M и выше.
Не рекомендуется задавать слишком высокое значение без необходимости — это может привести к чрезмерному потреблению ресурсов сервера и проблемам с хостингом.
Какие плагины могут помочь оптимизировать использование памяти в WordPress
Вместо постоянного увеличения лимита памяти лучше оптимизировать работу сайта. Для этого рекомендуются следующие плагины:
- Query Monitor — для мониторинга запросов и выявления тяжелых операций;
- WP Rocket или W3 Total Cache — для кэширования страниц и снижения нагрузки;
- Asset CleanUp — для отключения ненужных скриптов и стилей на страницах;
- Health Check & Troubleshooting — для диагностики проблем с производительностью.
Эти инструменты помогают выявить источники высокой нагрузки на память и оптимизировать их, что позволит снизить требования к memory_limit.
Что делать, если memory_limit не меняется
Иногда после внесения изменений значение лимита памяти не меняется. Возможные причины:
- Ограничения хостинга, которые нельзя переопределить;
- Конфигурация PHP-FPM или других менеджеров процессов, где настройки берутся из другого файла;
- Неверный синтаксис или место вставки директив;
- Конфликты с настройками .htaccess или плагинами.
В таких случаях рекомендуется обратиться в техническую поддержку хостинга с просьбой увеличить лимит для вашего аккаунта.
Заключение
Правильная настройка memory_limit — критически важный шаг для стабильной работы сайта на WordPress. Используйте методы, описанные выше, чтобы увеличить лимит, но при этом не забывайте оптимизировать сам сайт для снижения потребления памяти. Это позволит сделать сайт быстрее, надежнее и избежать ошибок, связанных с нехваткой ресурсов.