Diferentes modos de execução do PHP: prós e contras

Os scripts escritos em uma linguagem de programação e que compõem uma aplicação podem ser executados de diferentes maneiras. Por exemplo, em um contexto de desenvolvimento com PHP, há diversas formas de execução da linguagem:

  • Execução do PHP realizada pelo Apache, no server
    • Este tipo de execução apresenta rapidez, pois há uma interação direta entre o Apache e o PHP. Nele, não são criados processos adicionais a cada requisição recebida. Como consequência disso, o processo do Apache tende a ficar maior a cada requisição. Outra desvantagem dessa abordagem de execução é a incapacidade de lidar com um número grande de requisições, uma vez que não dispõe de múltiplos processos, comprometendo assim a escalabilidade. Além disso, não há um isolamento entre o web server e o PHP, que poderia representar uma camada adicional de segurança.
  • Execução do PHP através de CGI
    • O CGI é um protocolo de comunicação com regras próprias para a interação entre o web server e o app server. Ele proporciona o isolamento entre o web server e a aplicação e é capaz de lidar com múltiplas requisições. No entanto, cria um novo processo a cada requisição, o que causa uma maior onerosidade.
  • Execução do PHP através de FastCGI
    • Assim como o CGI, o FastCGI também é um protocolo que rege a comunicação entre a aplicação e o web server. Ele reúne vantagens das duas formas de execução da linguagem anteriormente citadas. Assim como o CGI, ele isola os scripts do servidor, dando uma maior segurança, ao mesmo tempo em que elimina o problema de criar um novo processo para cada requisição. Em vez disso, ele mantém alguns processos em execução no background para processar as requisições, sendo que cada um desses processos pode processar várias requisições. Isso torna o processamento mais rápido e menos oneroso.