В данной статье рассмотрены режимы работы PHP, доступные в ISPmanager, их особенности, а также изменение обработчика PHP, установка модулей и запуск PHP-скриптов из cron.
Сравнение режимов работы PHP
ISPmanager поддерживает три способа обработки PHP:
- PHP как модуль Apache (mod_php).
- PHP как CGI.
- PHP как FastCGI.
Каждый режим имеет свои особенности, однако использование классического PHP CGI не рекомендуется. Если есть выбор между PHP CGI и Apache Module (mod_php), лучше выбирать Apache Module. Режим CGI следует использовать только в исключительных случаях, когда этого требуют особенности существующей конфигурации.
PHP как модуль Apache (mod_php)
В данном режиме PHP работает как модуль веб-сервера Apache (mod_php).
Преимущества:
- Высокая производительность.
- Отсутствуют накладные расходы на запуск отдельного процесса PHP для каждого запроса.
- Общий файл конфигурации php.ini.
- Возможность изменения параметров PHP через конфигурацию Apache и .htaccess (если разрешено).
Недостатки:
- Все процессы Apache загружают модуль PHP, что немного увеличивает потребление оперативной памяти.
PHP как CGI
В данном режиме Apache запускает новый процесс php-cgi для каждого HTTP-запроса.
Преимущества:
- Процесс PHP завершается после обработки запроса и освобождает память.
- Падение процесса php-cgi не приводит к остановке Apache.
- При использовании suEXEC, suPHP или аналогичных механизмов возможно выполнение скриптов от имени владельца сайта.
Недостатки:
- На каждый запрос создаётся новый процесс php-cgi, что значительно снижает производительность по сравнению с mod_php.
- Повышенная нагрузка на процессор из-за постоянного создания и завершения процессов.
- Возможность запуска от имени владельца сайта и индивидуальная настройка PHP зависят не от CGI, а от конфигурации сервера.
- Устаревшая технология, практически не используемая на современных серверах.
PHP как FastCGI
FastCGI является развитием технологии CGI.
В отличие от классического CGI, процессы PHP не создаются для каждого запроса, а работают постоянно и повторно используются веб-сервером.
Преимущества:
- Значительно выше производительность по сравнению с CGI.
- Отсутствуют постоянные затраты на запуск процесса PHP.
- Лучшая масштабируемость при высокой нагрузке.
- Возможность запуска скриптов от имени владельца сайта.
Недостатки:
- Постоянно работающие процессы PHP занимают оперативную память даже при отсутствии запросов.
- Требуется дополнительная настройка пула процессов.
Изменение режима работы PHP в ISPmanager
Для изменения обработчика PHP откройте: WWW-домены → выберите сайт → Изменить → PHP
Выберите необходимый режим работы и сохраните изменения.
Установка модулей PHP
Установка дополнительных модулей PHP выполняется через раздел PHP панели ISPmanager.
После установки отдельных модулей может потребоваться перезапуск веб-сервера или службы PHP.
Запуск PHP-скриптов из cron
Для запуска PHP-скриптов из cron рекомендуется использовать соответствующий интерпретатор PHP. Пример
/usr/bin/php /path/to/script.phpИспользование php-cgi для запуска задач cron не рекомендуется, так как данный режим предназначен для обработки HTTP-запросов, а не для выполнения консольных задач.