Скорость, стабильность и безопасность WordPress напрямую зависят от того, как настроен PHP на сервере. Особенно это критично при работе с плагинами безопасности, такими как BotBlocker. Все ключевые переменные задаются в файле php.ini, панели хостинга или иногда через .htaccess. Вот что важно обязательно проверить и правильно выставить.
1. memory_limit
Максимальный объём памяти для одного скрипта.
- Пример:
memory_limit = 256M
- Минимум для WordPress — 128M, оптимально — 256M+ (особенно для WooCommerce и крупных сайтов).
2. max_execution_time
Максимальное время работы скрипта (секунд).
- Пример:
max_execution_time = 60
- Для больших операций (импорт, backup) — можно увеличить до 120.
3. max_input_time
Время на обработку входящих данных (POST/GET/файлы).
- Пример:
max_input_time = 60
- Меняется редко, но для крупных форм — до 120.
4. upload_max_filesize
Максимальный размер одного загружаемого файла.
- Пример:
upload_max_filesize = 32M
- Для загрузки больших медиа, тем или резервных копий — увеличьте лимит.
5. post_max_size
Максимальный общий размер POST-запроса.
- Пример:
post_max_size = 32M
- Всегда должен быть ≥ upload_max_filesize.
6. file_uploads
Включение/отключение загрузки файлов через PHP.
- Пример:
file_uploads = On
- Для WordPress должно быть “On”!
7. max_file_uploads
Максимальное количество файлов в одной загрузке.
- Пример:
max_file_uploads = 20
- Для массовых загрузок картинок увеличьте лимит.
8. default_charset
Кодировка по умолчанию.
- Пример:
default_charset = "UTF-8"
- Всегда “UTF-8” для WordPress.
9. display_errors / log_errors
Показ и логирование ошибок.
- В бою:
display_errors = Off
- Логировать:
log_errors = On
, путь к логам — черезerror_log
10. session.save_path
Папка для хранения сессий PHP.
- Пример:
session.save_path = "/tmp"
- На нагруженных сайтах — используйте быстрый диск, Redis или Memcached.
11. date.timezone
Часовой пояс для PHP.
- Пример:
date.timezone = "Europe/Moscow"
- Лучше выставлять актуальный для вашей аудитории и синхронизировать с WordPress.
12. opcache.enable
Включение кэширования байткода PHP (ускорение).
- Пример:
opcache.enable = 1
- Всегда включайте!
13. expose_php
Отправлять ли заголовок X-Powered-By (версия PHP).
- Пример:
expose_php = Off
- Всегда выключайте для безопасности.
14. disable_functions
Отключение опасных PHP-функций.
- Пример:
disable_functions = exec,passthru,shell_exec,system
- Снижает риск взлома.
Пример конфига php.ini для WordPress + BotBlocker
memory_limit = 256M
max_execution_time = 60
max_input_time = 60
upload_max_filesize = 32M
post_max_size = 32M
file_uploads = On
max_file_uploads = 20
default_charset = "UTF-8"
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
session.save_path = "/tmp"
date.timezone = "Europe/Moscow"
opcache.enable = 1
expose_php = Off
disable_functions = exec,passthru,shell_exec,system
Как проверить и изменить переменные?
- В WordPress: плагины “Site Health”, “WP Server Info” покажут текущие лимиты.
- В панели хостинга (cPanel, ISPmanager, Plesk): обычно есть раздел “PHP-параметры”.
- Через phpinfo(): создайте файл с
<?php phpinfo(); ?>
и посмотрите все значения.
Практика для WordPress и BotBlocker
- Для больших сайтов и WooCommerce — увеличьте лимиты памяти и времени работы.
- Никогда не включайте вывод ошибок для посетителей — только логируйте.
- Включите opcache — прирост скорости заметен даже на слабом хостинге.
- Отключайте опасные функции, если не используются вашими плагинами.
FAQ
Нужно ли перезапускать сервер после изменения php.ini?
Да, для FPM или Apache — перезапустите соответствующий сервис.
Что делать при ошибке “Allowed memory size exhausted”?
Увеличить memory_limit.
Не загружаются большие файлы?
Увеличьте upload_max_filesize и post_max_size.
Официальная документация PHP (ini)
Рекомендации WordPress по настройке PHP
Внутренние ссылки (RU):