4 pontos por GN⁺ 2024-05-31 | 1 comentários | Compartilhar no WhatsApp

Apresentação do FrankenPHP, um servidor moderno de aplicações PHP

O que é o FrankenPHP?

  • FrankenPHP é um servidor moderno de aplicações PHP escrito em Go.
  • Ele incorpora o executor oficial de PHP ao servidor web Caddy, com suporte a HTTP/1.1, HTTP/2 e HTTP/3.
  • Oferece geração e renovação automáticas de certificados HTTPS (usando Let’s Encrypt ou ZeroSSL).

Principais recursos

  • Permite executar um servidor PHP pronto para produção com um único comando.
  • Pode gerar um binário autônomo para executar aplicações web PHP e ferramentas de linha de comando sem dependências.
  • Oferece suporte nativo a extensões populares do PHP (como OPcache e XDebug).

Melhoria de desempenho

  • Modo Worker: a aplicação é inicializada uma vez e mantida na memória.
  • Uso simples: suporte nativo em Symfony, API Platform, Laravel e outros.
  • Alta velocidade: em aplicações com API Platform, é 3,5 vezes mais rápido que o FPM.
  • Eficiência: aproveita os goroutines do Go para oferecer desempenho eficiente.
  • Implantação simples: roda como um binário único e não precisa de serviços externos.

Vantagens do FrankenPHP

  • Configuração fácil e rápida: basta copiar os arquivos PHP para a raiz de documentos.
  • Alto desempenho: combina tecnologias modernas de servidor web com o executor de PHP para entregar alto desempenho.
  • Flexibilidade: também pode servir aplicações que não são compatíveis com o modo Worker.

Opinião do GN⁺

  • Ponto interessante: o FrankenPHP pode melhorar significativamente o desempenho de aplicações PHP ao aproveitar tecnologias modernas de servidor web.
  • Pontos a considerar na adoção: é preciso avaliar antecipadamente possíveis problemas de compatibilidade com o ambiente PHP existente.
  • Visão crítica: a adoção de uma nova tecnologia pode trazer curva de aprendizado e custo inicial de configuração.
  • Alternativas recomendadas: também vale considerar servidores PHP como RoadRunner e Swoole, que oferecem recursos semelhantes.
  • Prós e contras da escolha técnica: melhoria de desempenho e implantação simples são vantagens, mas os riscos da adoção de uma nova tecnologia e os desafios de integração com sistemas existentes devem ser analisados com cuidado.

1 comentários

 
GN⁺ 2024-05-31
Comentários do Hacker News
  • Não desenvolvo em PHP há 10 anos, mas esta landing page quase me fez voltar para PHP: o design, as cores e as animações são limpos, e a proposta de valor está bem destacada. Parece uma boa forma de começar um projeto pequeno.

  • Desenvolvedor C# de longa data, atualmente usando principalmente PHP8: PHP8 é uma excelente linguagem para concluir o trabalho rapidamente. Esta direção é melhor do que LAMP.

  • Curiosidade sobre o desempenho nos benchmarks do Tech Empower: no momento está em estado de "não concluído" e na última posição.

  • Uso com frequência o servidor web integrado do PHP durante o desenvolvimento: é lento por ser single-thread e não é adequado para produção. O FrankenPHP parece promissor, mas o problema de núcleos/threads limitados ainda existe. A imagem Docker parece promissora.

  • Tentei usar o FrankenPHP, mas é muito lento: falta documentação e o desempenho fica abaixo do esperado. Ele afirma ter desempenho 3,5 vezes melhor que o FPM, mas na prática não chega nem a 1% disso.

  • O FrankenPHP tem problemas de desempenho: ainda assim, é um projeto muito promissor.

  • Link relacionado: FrankenPHP, introdução a um servidor de aplicações PHP escrito em Go.

  • Como construir um contêiner Docker: explicação de como transformar um novo Debian no contêiner necessário por meio de comandos Docker.

  • Tentativa de benchmark do FrankenPHP e do Mod-PHP do Apache com Wordpress: não foi possível confirmar vantagem do FrankenPHP. O teste foi feito em Docker, e seria preciso investigar mais a fundo.

  • Gostei de ver este projeto chegar à primeira página do HN: dá a sensação de que a arquitetura que não compartilha com o FPM trouxe tanto o sucesso do PHP quanto suas limitações.