Режимы работы интерпретатора PHP

Сравнение режимов запуска PHP-скриптов: mod_php, CGI, FastCGI и LSPHP.

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

В этом режиме модуль mod_php подключается непосредственно к веб-серверу Apache, и каждый процесс Apache включает его в себя. Подходит для небольших сайтов с низкой посещаемостью.

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

  • наибольшая скорость выполнения скриптов по сравнению с другими режимами;
  • простота настройки — сервер обрабатывает скрипты самостоятельно;
  • единый конфигурационный файл php.ini для всех скриптов;
  • возможность задавать параметры PHP через конфигурацию Apache или .htaccess.

Недостатки:

  • все скрипты выполняются с правами веб-сервера, поэтому для записи в директории необходимо открывать к ним доступ для всех;
  • при запуске сторонних процессов (например, почтовой рассылки) невозможно определить, какой пользователь инициировал процесс;
  • обработка скриптов создаёт дополнительную нагрузку на Apache и может замедлить отдачу статических файлов;
  • ошибки в скриптах способны привести к неработоспособности всего веб-сервера.

PHP как CGI

В этом режиме для каждого запроса запускается отдельный процесс php-cgi. Подходит для сайтов с преимущественно статическим содержимым: интерпретатор загружается только по необходимости, что экономит оперативную память. Однако запуск нового процесса при каждом запросе замедляет выполнение скриптов.

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

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

Недостатки:

  • возможны проблемы с PHP-авторизацией через Header() из-за того, что часть серверных переменных не передаётся PHP-скрипту.

Наши услуги и сервисы

ХостингРаботает на сверхбыстрых NVMe дисках. Подходит для сайтов любой сложности.
Заказать
VPSМожно динамически менять параметры и гибко настраивать ОС. Бесплатное администрирование включено.
Заказать
Выделенные серверыДоступны различные сборки на базе Supermicro с процессорами Intel и AMD на борту.
Заказать

PHP как FastCGI

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

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

  • за счёт кэширования промежуточных данных скрипты не интерпретируются заново при каждом запросе, что даёт более высокую скорость по сравнению с CGI;
  • скрипты выполняются с правами пользователя — владельца домена.

Недостатки:

  • процесс php-cgi остаётся в памяти после первого обращения.

LSPHP

LiteSpeed PHP (LSPHP) реализован в виде модуля mod_lsapi для Apache и является наиболее производительным вариантом запуска PHP на серверах под управлением cPanel.

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

  • более высокая скорость обработки PHP-скриптов;
  • отсутствие ошибки 500 при наличии директив php_flag и аналогичных в .htaccess — актуально при переезде с хостинга, работавшего на mod_php;
  • меньшее потребление ресурсов;
  • повышенная эффективность Opcode Cache.

Установка модулей PHP

Модули PHP устанавливаются через панель ISPmanager в разделе PHP.

Запуск PHP-скрипта из cron

Чтобы запустить PHP-скрипт через планировщик cron, укажите полный путь к интерпретатору перед адресом скрипта:

/usr/bin/php-cgi /(путь)/script.php

Скрипт может находиться в любой директории, в том числе недоступной через FTP.

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам