Esses não são realmente "6 PHP Types", e sim dois tipos PHP, cada um sendo executado em 3 implementações diferentes do Apache.
suphp, suphp_worker e suphp_event
suPHP propriamente dito é um invólucro para PHP, rodando PHP sob certos direitos de usuário (ex: diferindo dos direitos que o Apache executa sob ) mais um módulo Apache (mod_suphp) que permite executar o suPHP - basicamente em um modo CGI. Modo CGI simplificado significa que cada requisição passada para o PHP inicia um novo processo PHP (runtime). Isso é caro, em termos de uso da CPU, e mais lento comparado a um tempo de execução persistente do PHP (~ cerca de 3-5 vezes, eu acho).
Suponho que essa primeira variante use o MPM de pré-requisitos do Apache , que é amplamente usado e testado mas bastante lento, comparado a outros MPMs. O Prefork faz o que o nome indica: ele cria uma certa quantidade de processos do apache e os mantém disponíveis para solicitações de entrada.
O próximo (suphp_worker) usa o MPM do trabalhador . Worker é uma mistura de processos e encadeamentos pré-gerados, que geralmente é mais rápida que o prefork (para fornecer conteúdo estático) cerca de duas vezes ) e usa menos memória.
O último (suphp_event) parece usar o suPHP + evento MPM , que usa mais uma vez outro modelo de processo / encadeamento que trabalhador. De pontos de referência que eu vi , evento e O trabalhador tem aproximadamente a mesma velocidade - o evento MPM (pelo menos usando o Apache 2.2, que seu provedor provavelmente faz) é marcado como experimental.
mod_php, mod_php_ruid2 e mod_php_itk
Este é um tipo diferente de implementação do manipulador PHP: o Apache pré-inicia um tempo de execução PHP e passa as solicitações recebidas para ele, gerando novos processos conforme necessário. Isso é considerável mais rápido que o suPHP, mas vem com a desvantagem de não haver separação do usuário: todos os processos do php são executados sob os mesmos direitos que o próprio Apache.
A primeira variante provavelmente usa o prefork MPM (descrito acima), já que mod_php é incompatível com os modelos de thread de worker ou event.
A segunda variante (mod_php_ruid2) parece usar o módulo do Apache mod_ruid2 , além disso, o que permite que você execute cada Apache VirtualHost sob diferentes direitos de usuário - isso inclui processos PHP. Tem uma longa lista de incapacidades que você deve considerar.
A última variante (mod_php_itk) usa o ITK MPM de terceiros para o Apache, um fork do Apache prefork MPM com o opção executar cada VirtualHost sob determinados direitos do usuário. Também lhe dá a capacidade de impor limites adicionais (por exemplo, quantidade de clientes) por VirtualHost.
Sugestão
Se essas são sua única opção, e você está "sozinho" em sua máquina (também conhecido como: você não planeja hospedagem compartilhada) eu provavelmente ficaria com o bom e velho mod_php.
Se você está planejando vários sites, precisa verificar suas prioridades:
- segurança sobre desempenho: use suphp_worker. Ambos (trabalhador MPM e suPHP) são amplamente testados e oferecem um bom ponto de partida para a segurança. O desempenho para arquivos estáticos deve ser bom, PHP não é muito.
- desempenho em relação à segurança: provavelmente mod_php_ruid2, mas apenas porque tenho uma experiência ruim com o ITK
Eu prefiro usar uma terceira opção, que usa FastCGI, dando-lhe ainda mais possibilidades de separar direitos e privilégios de acesso - mas isso parece não ser oferecido.