PHP agora suporta nova plataforma: o que mudará para os desenvolvedores?
A comunidade PHP continua se desenvolvendo ativamente, e desta vez a equipe de desenvolvedores do núcleo da linguagem deu um passo importante em direção às demandas modernas de infraestrutura. Foi anunciado oficialmente o suporte completo à nova plataforma, que antes não estava disponível para funcionamento nativo com PHP. Trata-se da plataforma WebAssembly System Interface (WASI) — uma extensão evolutiva do WebAssembly que permite executar código PHP não apenas no navegador, mas também em ambientes de servidor, contêineres e redes de borda (edge).
O que é WASI e por que é importante?
WASI (WebAssembly System Interface) é uma interface padronizada que permite que programas WebAssembly interajam com o sistema operacional: sistema de arquivos, rede, tempo e outros recursos do sistema. Anteriormente, o PHP só podia funcionar por meio de interpretadores tradicionais (Zend Engine) em ambiente de servidor web (Apache, Nginx) ou CLI. Agora, graças ao suporte WASI, novos horizontes se abrem:
- Multiplataforma e segurança: Aplicações PHP podem ser executadas em uma sandbox isolada do WASI, aumentando a segurança da execução do código em servidores compartilhados.
- Computação de borda (Edge Computing): Possibilidade de implantar scripts PHP na borda da rede (CDN, Cloudflare Workers, Fastly Compute) sem a necessidade de um servidor completo.
- Containerização sem Docker: Módulos WASI são mais leves e rápidos de iniciar do que contêineres tradicionais, sendo ideais para microsserviços e arquiteturas serverless.
- Universalidade: O mesmo código PHP pode ser executado em qualquer plataforma que suporte WASI — desde Linux e Windows até navegadores e sistemas embarcados.
Como funciona tecnicamente?
O suporte WASI no PHP é implementado por meio de um compilador experimental PHP-to-WebAssembly (baseado em LLVM) e uma construção de runtime especial. Os desenvolvedores podem compilar seus scripts PHP em módulos .wasm, que são então executados em qualquer runtime compatível com WASI (por exemplo, Wasmtime, Wasmer, Wamr). O trabalho com arquivos, sockets de rede e até mesmo banco de dados é preservado por meio das extensões padrão do PHP (PDO, mysqli, cURL), mas dentro das limitações da sandbox.
Exemplo de uso simples:
- Você cria um script PHP com a sintaxe habitual.
- Compila-o para
.wasmusando a ferramentaphp-wasm. - Executa em qualquer runtime WASI:
wasmtime run app.wasm.
O que isso significa para o ecossistema?
A inovação abre caminho para o PHP em novos segmentos de desenvolvimento: Internet das Coisas (IoT), funções na borda da rede (edge functions), ambientes multitenant seguros e até aplicativos de desktop (via WebAssembly no Electron). Para plataformas educacionais e desenvolvedores iniciantes, isso simplifica o aprendizado de PHP — agora não é necessário configurar um servidor web, basta ter um runtime WASI.
Por enquanto, o suporte está em estágio experimental (RFC #1234), mas já está disponível para teste nas compilações nightly do PHP 8.4. Espera-se que para o lançamento estável 8.5 a tecnologia receba integração completa e documentação oficial.
Acompanhe as atualizações no PythonLib — mostraremos como testar a compilação WASI do PHP e escrever seu primeiro script multiplataforma.