Istnieje kilka różnych „wrapperów” php (?). Jakie są między nimi różnice? Próbowałem trochę google, ale wydaje się, że nie mogę znaleźć informacji. (mod-php nie jest googleable).
Dlaczego mogę wybierać między sobą?
Pytania są trochę dziwne, nie jest jasne, czy pytasz tylko o PHP, czy twoje pytanie jest bardziej ogólne.
Dam ci krótki przegląd od strony PHP.
Po pierwsze, dwa protokoły:
Skrypty CGI to sposób na uruchomienie skryptu po stronie serwera, gdy nadejdzie żądanie HTTP; nie ma to nic wspólnego z PHP
FastCGI jest „lepszym CGI” - wiadomo, że CGI jest powolny, szybki CGI jest innym podejściem ze znacznie szybszymi wynikami; nie ma to również nic wspólnego z PHP.
Teraz rzeczy związane z PHP:
mod_php uruchamia PHP jako moduł Apache - to znaczy żądanie PHP jest uruchamiane w ramach procesu Apache ze wszystkim, co się z nim wiąże - procesy Apache są definiowane przez konfigurację Apache, PHP jest uruchamiane za zgodą Apache itp.
PHP-FPM to implementacja PHP FastCGI; PHP-FPM działa jako samodzielny serwer FastCGI, a Apache łączy się z serwerem za pomocą modułu Apache, zwykle mod_fcgid lub mod_fastcgi; Osobiście uważam, że jest to znacznie lepsze niż uruchamianie jako mod_php, ale zależy to od twoich wymagań i jest nieco bardziej złożone; w tej konfiguracji pozwolenie, procesy związane z procesami i wszystko jest uruchamiane w konfiguracji PHP, użytkownik PHP itp. Apache łączy się z PHP jak z serwerem; w tej konfiguracji możliwe jest także posiadanie puli serwerów PHP i serwer PHP na fizycznie innym komputerze niż Apache. Mówią, że jest to prawie tak szybkie, jak w przypadku korzystania z modułu Apache i istnieją zalety lepszej kontroli nad konfiguracją PHP.
SuPHP - był używany głównie do rozwiązania niektórych problemów mod_php związanych z uprawnieniami; z mod_php skrypty PHP są uruchamiane pod użytkownikiem / grupą Apache; mod_suphp może uruchamiać skrypty u różnych użytkowników; Nigdy go nie użyłem, PHP-FPM powinien być teraz znacznie lepszym wyborem
Zasadniczo: