PHP amplía horizontes: soporte para una nueva plataforma de desarrollo web

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

PHP ahora es compatible con una nueva plataforma: ¿qué cambiará para los desarrolladores?



La comunidad de PHP continúa desarrollándose activamente, y esta vez el equipo de desarrolladores del núcleo del lenguaje ha dado un paso importante hacia los requisitos modernos de infraestructura. Se ha anunciado oficialmente la compatibilidad total con la nueva plataforma, que anteriormente no estaba disponible para el trabajo nativo con PHP. Se trata de la plataforma WebAssembly System Interface (WASI), una extensión evolutiva de WebAssembly que permite ejecutar código PHP no solo en el navegador, sino también en entornos de servidor, contenedores y redes edge.



¿Qué es WASI y por qué es importante?



WASI (WebAssembly System Interface) es una interfaz estandarizada que permite a los programas WebAssembly interactuar con el sistema operativo: sistema de archivos, red, tiempo y otros recursos del sistema. Anteriormente, PHP solo podía funcionar a través de intérpretes tradicionales (Zend Engine) en un entorno de servidor web (Apache, Nginx) o CLI. Ahora, gracias al soporte de WASI, se abren nuevos horizontes:



  • Multiplataforma y seguridad: Las aplicaciones PHP pueden ejecutarse en un sandbox aislado de WASI, lo que aumenta la seguridad de la ejecución del código en servidores compartidos.
  • Edge computing: Posibilidad de implementar scripts PHP en el borde de la red (CDN, Cloudflare Workers, Fastly Compute) sin necesidad de un servidor completo.
  • Contenedorización sin Docker: Los módulos WASI son más ligeros y se inician más rápido que los contenedores tradicionales, lo que es ideal para microservicios y arquitecturas serverless.
  • Versatilidad: El mismo código PHP se puede ejecutar en cualquier plataforma que admita WASI, desde Linux y Windows hasta navegadores y sistemas embebidos.


¿Cómo funciona técnicamente?



El soporte de WASI en PHP se implementa a través del compilador experimental PHP-to-WebAssembly (basado en LLVM) y una compilación de runtime especial. Los desarrolladores pueden compilar sus scripts PHP en módulos .wasm, que luego se ejecutan en cualquier runtime compatible con WASI (por ejemplo, Wasmtime, Wasmer, Wamr). Se conserva el trabajo con archivos, sockets de red e incluso bases de datos a través de las extensiones estándar de PHP (PDO, mysqli, cURL), pero dentro de las limitaciones del sandbox.



Ejemplo de uso simple:

  • Crea un script PHP con la sintaxis habitual.
  • Compílalo en .wasm usando la herramienta php-wasm.
  • Ejecútalo en cualquier runtime WASI: wasmtime run app.wasm.


¿Qué significa esto para el ecosistema?



Esta innovación abre el camino para PHP en nuevos segmentos de desarrollo: Internet de las Cosas (IoT), funciones en el borde de la red (edge functions), entornos multitenencia seguros e incluso aplicaciones de escritorio (a través de WebAssembly en Electron). Para las plataformas educativas y los desarrolladores principiantes, esto simplifica el aprendizaje de PHP: ya no es necesario configurar un servidor web, basta con tener un runtime WASI.



Por ahora, el soporte se encuentra en la etapa experimental (RFC #1234), pero ya está disponible para pruebas en las compilaciones nightly de PHP 8.4. Se espera que para el lanzamiento estable 8.5, la tecnología reciba una integración completa y documentación oficial.



Siga las actualizaciones en PythonLib: le contaremos cómo probar la compilación WASI de PHP y escribir su primer script multiplataforma.

Recommended Libraries