В чем разница между php и php –fpm?

134
10 декабря 2020, 03:10

Мне поставлена задача установить на сервер связку nginx и php- fpm. Я не очень понял чем php-fpm отличается от ядра php, написано что nginx самостоятельно обрабатывает статику а обработку php скриптов отдает php-fpm. Я всегда считал, что ядро php собственно и занимается тем что получает запрос от веб-сервера на обработку php скритов, обрабатывает и отдает результат назад.

Answer 1

Есть сферический PHP в вакууме, Zend Engine. Он именно что в вакууме, не имеет никаких средств взаимодействия с пользователем без реализации некоторого интерфейса SAPI - Server API.

В дереве исходных текстов есть несколько штатных реализаций SAPI:

  • интерфейс для запуска из командной строки CLI
  • модуль для веб-сервера apache
  • интерфейс для работы через CGI интерфейс
  • FPM как самостоятельная реализация FastCGI интерфейса

Ну и некоторые другие.

Поэтому бессмысленно сравнивать php с его же собственным SAPI. Каждый из SAPI ведёт себя по-разному, что продиктовано требованиями к взаимодействию с внешним миром.

В контексте nginx - речь может идти только о FPM. nginx не умеет CGI, очевидно не может работать с модулем apache, CLI тоже неуместен. Временами настраивается цепочка nginx -> apache -> модуль PHP для apache, где статические файлы раздаёт nginx, за динамику отвечает apache. Но зачем здесь apache, если есть fastCGI? Просто лишнее звено, ещё раз форматирующее и разбирающее запрос.

Почему сейчас в большинстве случаев используется nginx? Он легче и проще держит множество соединений с клиентами.

Я так понял у apache по умолчанию CGI?

По умолчанию apache вовсе не обрабатывает скрипты. Что-то было настроено явным образом в конфигурации веб-сервера. Возможно не вами (а, например, инсталлятором), но настроено было. Угадать что именно - затруднительно. Я бы ожидал использование модуля libapache2-mod-php.

READ ALSO
Не загружаются фотографии на сайт

Не загружаются фотографии на сайт

Хочу, чтобы пользователь мог загружать фотографии в папку сайта с помощью кнопки (и для их дальнейшего вывода)Пишет, что фотографию загрузил,...

142
phpmyadmin кодировка

phpmyadmin кодировка

здравствуйте ребята есть вопрос я в phpmyadmin кодировку поставил utf-8 general_ci но с русскими и армянскими буквами есть проблема показивает ????????????????...

144
imap_open виснет

imap_open виснет

В php новичок, сильно не пинайте плизВиснет imap_open причем с концами, пока не убьешь процесс

120
Вывод аватара пользователя

Вывод аватара пользователя

Пользователи загружают у меня на сайте свои фотографии (для аватарок), но я не знаю как выдавать их обратно при оставлении пользователем комментарияКак...

108