PHP online - IDE, editor, compilador, intérprete

Ejecuta scripts de PHP 8 online con un intérprete de PHP real compilado a WebAssembly. Ideal para probar fragmentos de código, arrays y funciones de cadenas y JSON.

PHP 8 (php-wasm) · Se ejecuta en tu navegador, así que tu código nunca llega a nuestros servidores.
main.phpPHP
Salida

            
        
Ctrl/⌘ + Enter para ejecutar

Funciones del compilador de PHP online (IDE, editor & intérprete)

Escribe, ejecuta y prueba código PHP online y gratis. Esta página funciona como IDE, editor de código, compilador e intérprete de PHP online, todo en uno: escribe tu código, pulsa Ejecutar y verás el resultado al momento. Todo se ejecuta en tu navegador, sin nada que instalar ni cuentas que crear.

  • Ejecuta código al instante: PHP 8 (php-wasm), con resultados en menos de un segundo tras la primera carga.
  • Editor de código: resaltado de sintaxis, números de línea, emparejamiento de corchetes y cierre automático de corchetes.
  • Errores claros: los mensajes de error y las advertencias aparecen en el panel de salida, igual que en tu propio ordenador.
  • Pantalla completa: Ctrl/⌘ + Shift + F, tamaño de fuente ajustable, diseño en paralelo o apilado y paneles redimensionables.
  • Guardado automático: tu código se guarda en tu navegador; descárgalo como main.php o cópialo con un clic.
  • Experimenta sin riesgo: un límite de tiempo y un botón Detener acaban con los bucles infinitos.
  • Privado: el entorno de ejecución de PHP funciona en tu dispositivo, así que tu código nunca se sube.
  • Modo oscuro y atajos de teclado: Ctrl/⌘ + Enter ejecuta el código.
  • Gratis: sin registro y sin límites de uso.

Aprende otros lenguajes de programación

Cómo usar el compilador de PHP online

  1. Escribe o pega un script de PHP en el editor. La etiqueta de apertura <?php es opcional; si tu código no contiene ninguna etiqueta de PHP, se añade automáticamente. Las plantillas que mezclan HTML y bloques <?php ... ?> también funcionan. Restablecer ejemplo recupera el código inicial.
  2. Pulsa Ejecutar o usa Ctrl + Enter (⌘ + Enter en Mac).
  3. Todo lo que tu script muestre con echo, print, printf o var_dump aparece en el panel Salida. Los avisos y los errores fatales se resaltan.
  4. Elige un límite de tiempo de 5, 15 o 60 segundos. Los scripts que tarden más se detienen automáticamente, y Detener finaliza una ejecución al instante.

La primera ejecución descarga el intérprete de PHP, unos 12 MB. Tu navegador lo guarda en caché, así que las siguientes ejecuciones arrancan mucho más rápido. Usa Copiar o main.php para conservar tu script.

PHP se ejecuta en local dentro de tu navegador, por lo que tu código nunca se envía a nuestros servidores ni se guarda en ellos. El editor recuerda tu último script en el almacenamiento local de tu navegador y en ningún otro sitio.

Qué admite

El compilador usa PHP 8 mediante php-wasm, el intérprete de PHP compilado a WebAssembly. No es una simulación; tu código lo ejecuta el propio PHP.

  • Sintaxis de PHP 8: propiedades tipadas, tipos de unión, expresiones match, argumentos con nombre, funciones flecha (fn), el operador nullsafe (?->) y enums, si la versión incluida los admite.
  • Funciones básicas para cadenas (str_contains, sprintf, explode), arrays (array_map, usort, array_filter), matemáticas y fechas.
  • JSON con json_encode y json_decode.
  • Expresiones regulares con las funciones preg_*.
  • Clases, interfaces, traits, closures, generadores y excepciones.

Limitaciones:

  • Sin extensiones de red: curl, los sockets y las peticiones HTTP no están disponibles.
  • Sin servidor de base de datos: no hay ningún MySQL ni PostgreSQL al que conectarse. Para practicar SQL, usa el compilador de SQL online.
  • Sin contexto de servidor web: $_GET, $_POST, las sesiones y las cookies no reciben datos de peticiones reales, y la salida HTML se muestra como texto, no se renderiza.
  • Sin paquetes de Composer y sin entrada estándar.

Referencia rápida de PHP

<?php
$prices = ['apple' => 1.20, 'bread' => 2.50, 'milk' => 0.99];

$expensive = array_filter($prices, fn($p) => $p > 1);
arsort($expensive);

foreach ($expensive as $item => $price) {
    printf("%-6s %5.2f\n", $item, $price);
}

$label = match (true) {
    count($prices) > 2 => 'big basket',
    default            => 'small basket',
};
echo $label, PHP_EOL;
echo json_encode($prices, JSON_PRETTY_PRINT), "\n";
TareaSintaxis
Variable$name = "Ada";
Interpolación de cadenas"Hello, {$name}!"
Array asociativo$a = ['key' => 'value'];
Recorrer claves y valoresforeach ($a as $k => $v) { }
Inspeccionar un valorvar_dump($x); o print_r($x);
Fusión de null$v = $a['x'] ?? 'default';

Consejos

  • Termina las líneas con "\n" o PHP_EOL; echo no añade un salto de línea por sí solo.
  • Usa print_r($array) para ver de forma compacta arrays anidados, o var_dump() cuando también necesites tipos y longitudes.
  • Para un JSON legible, pasa JSON_PRETTY_PRINT, o pega la salida en el formateador y validador de JSON para validarla.
  • Cada ejecución inicia un intérprete nuevo, así que las variables y funciones de la ejecución anterior no se conservan.
Consejo: ¿Estás probando un patrón de preg_match? Constrúyelo y depúralo primero en el probador de Regex y luego pégalo entre los delimitadores, por ejemplo '/^\d+$/'.

Preguntas frecuentes

¿Tengo que empezar mi código con <?php?

No. Si el script no contiene ninguna etiqueta <?php, se añade una automáticamente. También puedes escribir HTML con bloques <?php ... ?> incrustados, exactamente igual que en un archivo .php de un servidor web.

¿Puedo conectarme a MySQL?

No. El intérprete se ejecuta en tu navegador sin acceso a la red ni a un servidor de base de datos. Para practicar SQL, el compilador de SQL te ofrece una base de datos SQLite real en el navegador.

¿Por qué no funcionan curl ni file_get_contents() con una URL?

Las extensiones de red no están incluidas en esta compilación de WebAssembly, y los navegadores no permiten conexiones de red directas desde un entorno aislado como este.

¿Es lo mismo que ejecutar PHP en un servidor?

En cuanto a las características del lenguaje y a las funciones de cadenas, arrays y JSON, sí: es el motor real de PHP. Todo lo que dependa de un servidor web, de extensiones o de la red se comporta de forma distinta.

Actualizado

Copiado al portapapeles