Ключевые переменные настройки PHP для WordPress и BotBlocker

Скорость, стабильность и безопасность 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):