База знаний: Общий FAQ
Сравнение режимов работы интерпретатора PHP-скриптов
Автор Алексей | HiTex.BY, Последнее изменение: Алексей | HiTex.BY на 04 сентября 2021 13:56

PHP как модуль Apache

В данном случае для работы PHP используется модуль веб-сервера Apache mod_php

Достоинства

  1. Самая высокая скорость работы скриптов, по сравнению с другими методами.
  2. Простота работы, сервер сам обрабатывает скрипты.
  3. Общий конфигурационный файл для всех скриптов (php.ini).
  4. Возможность задания переменных конфигурации PHP в конфигурационном файле web-сервера или средствами файла .htaccess

Недостатки

  1. Все скрипты запускаются с правами, с которыми работает web-сервер, тем самым, если есть необходимость записи в какую либо директорию – права доступа необходимо дать на нее всем.
  2. В случае запуска сторонних приложений скриптами (например, почтовая рассылка), нет возможности идентифицировать пользователя, который запустил процесс.
  3. Излишняя нагрузка на web-сервер, apache занятый обработкой скриптов может медленно отдавать другие статические данные.
  4. Ошибки в скриптах могут привести к неработоспособности всего web-сервера

PHP как CGI

В случае работы PHP как CGI используется запуск PHP-скрипта через его передачу на выполнение непосредственно интерпретатору PHP.

Достоинства

  1. Все скрипты выполняются с правами пользователя – владельца www-домена.
  2. Возможность индивидуальной настройки PHP для каждого пользователя.
  3. Меньший расход оперативной памяти по сравнению с модулем apache
  4. Ошибки в скриптах не приводят к падению веб-сервера в отличие от режима PHP как модуль apache

Недостатки

  1. Проблемы с авторизацией средствами PHP (средствами команды Header) по причине того, что не передаются некоторые переменные сервера php-скрипту.

PHP как FastCGI

FastCGI - протокол взаимодействия между веб-серверов и приложением. Является продолжением развития такой технологии как CGI. Более безопасный и производительный, чем CGI.
При этом используется модуль Apache mod_fastcgi, скрипты передаются его средствами на вход интерпретатора PHP.

Достоинства

  1. За счет кэширования некоторых промежуточных данных скрипт не интерпретируется каждый раз при выполнении и достигается более высокая скорость по сравнению с PHP как CGI.

Недостатки

  1. Лишний процесс пользователя (php-cgi) находится в памяти после первого обращения к процессу.

LSPHP

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

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

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

PHP как FPM

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

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

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

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

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

Недостатки:

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

Тип обработчика Производительность Расход памяти Подробнее об обработчике
Модуль Apache Высокая Низкий Этот обработчик доступен только в Plesk для Linux. Это наименее безопасная опция, поскольку все скрипты PHP выполняются от лица пользователя apache. Это означает, что все файлы, создаваемые скриптами PHP любого подписчика, имеют одного и того же владельца (apache) и одинаковый набор прав. Таким образом, любой пользователь может повредить файлы другого пользователя или важные системные файлы. Вы можете избежать некоторых проблем с безопасностью, включив безопасный режим PHP (safe_mode). Этот режим отключает ряд функций PHP, создающих потенциальную угрозу безопасности. В результате этого могут перестать работать некоторые приложения. Опция safe_mode считается устаревшей и была удалена начиная с PHP 5.4.
Расширение ISAPI Высокая Низкий Этот обработчик доступен только в Plesk для Windows. Если для подписок включен выделенный пул приложений IIS, расширение ISAPI позволяет обеспечить изоляцию сайтов. Изоляция сайтов означает, что сайты разных клиентов запускают свои скрипты независимо друг от друга. Благодаря этому ошибка в одном из скриптов PHP никак не скажется на работе других скриптов. Кроме того, скрипты РНР запускаются от лица системного пользователя, привязанного к учетной записи хостинга. Обработчик на основе расширения ISAPI не поддерживается начиная с PHP 5.3.
Приложение CGI Низкий Низкий Обработчик CGI обеспечивает выполнение скриптов PHP от лица системного пользователя, привязанного к учетной записи хостинга. В Linux такое поведение возможно, только когда на сервере Apache включен модуль suEXEC (включен по умолчанию). В остальных случаях все скрипты PHP выполняются от лица пользователя apache. По умолчанию обработчик CGI недоступен клиентам Plesk.
Приложение FastCGI Высокая Высокая Обработчик FastCGI запускает скрипты РНР от имени системного пользователя, привязанного к учетной записи хостинга.
Приложение PHP-FPM Высокая Низкий Этот обработчик доступен только в Plesk для Linux. PHP-FPM ? это расширенная версия FastCGI, которая заметно оптимизирует работу веб-приложений с высокой нагрузкой.
(903 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)