PHP как модуль Apache

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

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

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

Недостатки:

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

PHP как CGI

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

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

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

Недостатки:

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

PHP как FastCGI

По своим свойствам FastCGI является золотой серединой между mod_php и CGI режимами. В нём исключены недостатки CGI и присутствуют его достоинства. При включенном FastCGI, в ОЗУ сервера располагается постоянно запущенный процесс-обработчик. Это избавляет от необходимости при каждом запросе запускать новый процесс, как в случае использования CGI. По быстродействию FastCGI аналогичен mod_php.

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

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

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

Недостатки:

  • Лишний процесс пользователя (php-cgi) находится в памяти после первого обращения к процессу.
  • Изменение режима работы PHP в ISPmanager
  • Настройка режима работы PHP для сайта осуществляется через меню Домены – WWW домены – свойства сайта – PHP, при условии, что все эти режимы разрешены пользователю – владельцу www-домена.

LSPHP

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

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

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

Как установить модули PHP

Модули PHP можно ставить через панель ISPmanager в разделе "PHP".
Как запустить скрипт PHP из планировщика cron?

Скрипт PHP можно запустить с помощью планировщика cron, прописав перед адресом скрипта:
/usr/bin/php-cgi /(путь...)/script.php
Скрипт PHP может находиться в любой директории, т.е. быть недоступным через FTP.

Обновлено 16 октября 2018 г.