Режимы работы интерпретатора 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-скрипту.
Наши услуги и сервисы
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.
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!