Ответы:
Вопросы немного странные, не ясно, спрашиваете ли вы только о PHP или ваш вопрос носит более общий характер.
Я дам вам краткий обзор со стороны PHP.
Во-первых, два протокола:
CGI-скрипты - это способ запуска серверного скрипта при получении HTTP-запроса; это не имеет ничего общего с PHP
FastCGI - это «лучший CGI» - известно, что CGI медленный, Fast CGI - это другой подход с гораздо более быстрыми результатами; это также не имеет ничего общего с PHP.
Теперь PHP связан с вещами:
mod_php запускает PHP как модуль Apache - то есть запрос PHP выполняется под процессом Apache со всем, что с ним связано - процессы Apache определяются конфигурацией Apache, PHP запускается с разрешением Apache и т. д.
PHP-FPM - это PHP-реализация FastCGI; PHP-FPM работает как самостоятельный сервер FastCGI, и Apache подключается к серверу с помощью модуля Apache, обычно mod_fcgid или mod_fastcgi; Лично я считаю, что это намного лучше, чем запускать как mod_php, но это зависит от ваших требований и также немного сложнее; в этой конфигурации права доступа обрабатывают связанные вещи и все выполняется в конфигурации PHP, пользователя PHP и т. д. Apache подключается к PHP как к серверу; в этой конфигурации также возможно иметь пул PHP-серверов и иметь PHP-сервер на физически отличной машине от Apache. Они говорят, что это почти так же быстро, как использование модуля Apache, и есть преимущества лучшего контроля над конфигурацией PHP.
SuPHP - это в основном использовалось для решения некоторых проблем mod_php, связанных с разрешениями; с помощью mod_php PHP-скрипты запускаются под пользователем / группой Apache; mod_suphp может запускать скрипты от другого пользователя; Я никогда не использовал его, PHP-FPM теперь должен быть намного лучшим выбором
Итак, в основном: