Перейти к основному контенту

Режимы работы PHP: mod_php, FastCGI и PHP-FPM на VPS

Веб-серверы могут обрабатывать php-скрипты в разных режимах. Если выбрать подходящий вариант взаимодействия PHP и веб-сервера на сайте, например, PHP как CGI или Apache-модуль, это положительно отразится на его производительности.

Выбрать режим работы PHP можно на VPS с панелью управления ISPmanager и Plesk. На виртуальном хостинге REG.RU по умолчанию используется режим FastCGI.

Подробнее о том, какие режимы PHP поддерживаются на хостинге REG.RU, читайте в статье.

В этой статье мы рассмотрим основные режимы работы PHP.

PHP как модуль Apache (mod_php)

Модуль для веб-сервера Apache, который позволяет ему обрабатывать все запросы PHP, не используя сторонние модули.

Преимущества:

  • Высокая производительность;

  • Можно вводить переменные PHP в .htaccess.

Недостатки:

  • отдельные пользователи на сервере с mod_php не могут вносить изменения, если у них нет прав доступа на все процессы, с которыми он работает. Иными словами, права веб-сервера должны выдаваться всем пользователям на сервере;

  • Низкий уровень безопасности, так как нельзя определить пользователя, который запустил конкретный процесс (все процессы выполняются анонимно под пользователем apache);

  • Ошибки в скриптах могут парализовать работу всего сервера;

  • Веб-серверы с mod_php медленно обрабатывают статические данные.

PHP в режиме CGI и FastCGI

PHP CGI — один из первых сценариев обработки php-скриптов сервером с помощью модуля mod_cgi. Сейчас он используется редко и считается устаревшим.

В этом режиме каждый php-запрос выполняется отдельным процессом. Из-за этого производительность сайта снижается, и на обработку скриптов требуется больше времени.

Развитием технологии CGI (Common Gateway Interface) стал интерфейс FastCGI.

При создании сценария FastCGI учли медленную скорость обработки скриптов в CGI, поэтому в этом режиме используется циклическая обработка нескольких запросов одним процессом. FastCGI — это экономия оперативной памяти за счет сокращения количества запущенных процессов.

Преимущества:

  • Пользователь обладает правами на выполнение всех скриптов на своем www-домене;

  • Безопасность (каждый запрос выполняется под отдельным пользователем, запуск небезопасного php-скрипта не повлияет на файлы других пользователей, которые находятся на одном с ним сервере);

  • Каждый пользователь на сервере может выбрать персональную версию PHP;

  • Отсутствие сбоев сервера при наличии ошибок в скриптах;

  • Обработка правил конфигурационного файла .htaccess, который поддерживается популярными CMS (Wordpress, Joomla, 1C-Битрикс и пр.).

Недостатки:

  • Чуть меньшая производительность по сравнению с модулем Apache;

  • Медленная обработка статических данных без связки с веб-сервером Nginx.

PHP в режиме FPM

FPM (FastCGI Process Manager) — альтернативная реализация PHP FastCGI. PHP FPM — это единственный модуль, который подходит для чистого веб-сервера Nginx.

Как работает PHP FPM:

  • Быстрая обработка статических данных;

  • Отсутствует необходимость в веб-сервере Apache;

  • Меньшее потребление оперативной памяти.

Недостатки:

  • Отсутствует поддержка конфигурационного файла .htaccess. Это требует самостоятельной настройки аналогичных правил на стороне веб-сервера Nginx.

О выборе режима PHP

Выбор режима PHP зависит от требований ваших сайтов и доступных ресурсов сервера. В большинстве случаев мы рекомендуем использовать клиентам режим FastCGI, так как он подходит для корректной работы большинства CMS и требует меньше действий со стороны пользователя.

VPS с установленной CentOS

Закажите сервер с чистой CentOS или панелью управления ISPmanager всего за пару минут.

Заказать VPS c Centos

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 1