Какие есть режимы работы PHP?
Веб-серверы обрабатывают php-скрипты в разных режимах. Если подобрать подходящий вариант взаимодействия между PHP и веб-сервером на вашем сайте, то это однозначно положительно повлияет на производительность работы в целом. В этой статье описаны популярные режимы PHP.
Режимы работы PHP включают:
- PHP как модуль Apache
- CGI
- SuPHP
- FastCGI
- LSPHP.
PHP как модуль Apache (mod_php) - специальный режим, в основе которого подключение модуля mod_php в настройках веб-сервера Apache. Это означает, что все происходящие процессы включают данный модуль в себя. Однако этот режим рекомендуют использовать для интернет-ресурсов с небольшой посещаемостью. Среди основных преимуществ выделяются специальные настройки кэширования, именно благодаря им увеличивается производительность. Также данный режим PHP способствует быстрому выполнению скриптов, что является существенным плюсом в работе.
SuPHP - режим php, в котором каждый php скрипт может выполняться с прерогативами разных пользователей. Среди плюсов данного режима можно выделить:
- возможности отслеживания имени пользователя, который запустил скрипт.
- скрипты может запускать только тот пользователь, который является их владельцем.
- для загруженных файлов через сайт, владельцем устанавливается тот, кто загружал файлы.
LSPHP (LiteSpeed PHP) - режим, в основе которого модуль mod_lsapi на веб-сервере Apache. Однозначно, это производительный вариант запуска PHP на сервере с популярной панелью управления сPanel.
Основные преимущества этого режима:
- быстрая обработка PHP-скриптов, что положительно влияет на скорость работы сайта.
- исчезновение 500-ой ошибки, если присутствует php_flag и подобные директивы в файле .htaccess.
- уменьшение потребление ресурсов на вашем сервере.
- улучшения качества работы Opcode Cache.
PHP в режиме CGI - в основе этого режима запуск интерпретатора php-cgi для скриптов с установленным CGI в качестве обработчика. Если в основном сайт из статистического контента, то данный режим станет отличным вариантом, так как экономно использует ОЗУ. Это происходит из-за того, что интерпретатор работает только в случаях необходимости. Но также данный метод влечет за собой замедление, ведь на каждый запрос происходит загрузка интерпретатора в память.
Среди преимуществ выделим следующие: CGI запускается с правами любого пользователя системы (suexec). Для каждого пользователя возможна подборка индивидуальных параметров PHP. PHP интерпретатор работает как независимый процесс, поэтому шанс поломки работы Apache из-за ошибок в скриптах минимальная. В итоге каждый пользователь может выбрать индивидуальную версию PHP для дальнейшей работы.
PHP в режиме FastCGI (mod_fastcgi) - еще один режим php, который, по-сути. является чем-то средним между mod_php и CGI режимами.
Если FastCGI включен, то в ОЗУ серверной машины постоянно размещается запущенный процесс-обработчик. В таком случае нет необходимости при каждом запросе запускать новый процесс, в отличии от использования CGI. Если сравнивать быстроту работы FastCGI и mod_php, то она аналогична. Если говорить о преимуществах режима FastCGI, то это совокупность плюсов всех выше перечисленных режимов. Запуск Php-обработчика происходит на постоянной основе, поэтому для каждого запроса не нужно создавать новый процесс. Режим FastCGI - отличное решение для проектов с постоянной высокой нагрузкой.
Плюсы режима FastCGI:
- улучшения производительности с помощью кэширования;
- запуск скриптов от имени их владельца;.
- минимальный риск зависания.
Как определить режим PHP?
Для этого на вашем хостинге создайте специальный php-файл с любым именем, к примеру, info.php, далее откройте его и отредактируйте, вставив в него строки:
<?php
phpinfo();
После сохранения откройте данный файл через веб-браузер. В результате вы получите всю информацию об установленном PHP. В специальной строке Server API будет отображен режим PHP (как на скриншоте):
Требования сайта и доступные серверные ресурсы напрямую влияют на выбор режима PHP. На виртуальном хостинге от ГиперХост интерпретатор PHP может работать в этих основных режимах в зависимости от сервера, на котором размещена ваша услуга. Для получения более детальной информации по доступным режимам PHP на вашей услуге, обратитесь в нашу техническую поддержку по удобному каналу связи.