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
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.