php-como-ejecutar-php-desde-la-consola-cli

Cómo ejecutar PHP desde la consola (CLI)

  • 3 min

PHP CLI es la interfaz que permite ejecutar PHP desde la terminal, sin depender de un navegador ni de una petición web.

Hasta ahora hemos visto PHP como un generador de páginas web: el navegador pide algo y PHP le entrega HTML. Pero PHP es mucho más que eso. Es un lenguaje de scripting de propósito general, igual que Python o Bash.

PHP tiene una interfaz llamada CLI (Command Line Interface).

¿Para qué sirve?

  1. Tareas programadas (Cron Jobs): Enviar emails a las 3 AM, limpiar bases de datos, generar reportes PDF.
  2. Herramientas de desarrollo: Composer (que veremos más adelante), los tests automáticos y los comandos de frameworks como Laravel (artisan) funcionan sobre PHP CLI.
  3. Scripts de mantenimiento: Mover archivos, procesar imágenes en masa, etc.

Verificando el acceso

Para usar la CLI, tu sistema operativo debe saber dónde está el ejecutable php.exe. Si instalaste Laragon y abres su terminal (o usaste el botón “Terminal” de Laragon), esto ya está configurado.

Abre tu terminal y escribe:

php -v
Copied!

Si responde con la versión, estamos dentro. Si dice “comando no reconocido”, necesitas añadir la carpeta de PHP a las Variables de Entorno (PATH) de tu sistema (o simplemente usar la terminal que trae Laragon, que es lo más fácil).

Tu primer script de consola

Vamos a crear un archivo nuevo llamado cli.php en tu carpeta de proyecto.

<?php
echo "Hola, consola.";
echo "Esto no es HTML.";
echo "Aquí usamos saltos de línea reales.";
Copied!

Ahora, en lugar de ir al navegador, ve a tu terminal. Asegúrate de estar en la carpeta donde guardaste el archivo (usa el comando cd para navegar si es necesario) y ejecuta:

php cli.php
Copied!

El problema del formato (<br> vs \n)

Si ejecutas el código anterior, verás algo feo: Hola, consola.Esto no es HTML.Aquí usamos saltos de línea reales.

Todo junto. ¿Por qué? En el navegador usamos <br> para saltar de línea porque el navegador interpreta HTML. La consola no sabe qué es HTML. La consola solo entiende texto plano.

Para la consola, necesitamos el carácter de escape de nueva línea: \n.

Modifica tu archivo:

<?php
echo "Hola, consola.\n"; // \n significa New Line
echo "Esto se ve mejor.\n";
Copied!

Ejecuta de nuevo php cli.php y verás el texto perfectamente ordenado.

Recuerda que en una respuesta HTML usamos elementos como <br> o <p>. En la consola usamos caracteres de escape como \n o \t.

Modo interactivo (php -a)

A veces quieres probar una función rápida o hacer un cálculo matemático sin crear un archivo. PHP tiene un modo interactivo.

Escribe en tu terminal:

php -a
Copied!

El prompt cambiará a php >. Ahora puedes escribir código PHP en vivo:

php > $x = 10;
php > $y = 5;
php > echo $x * $y;
50
php >
Copied!

Para salir, escribe exit o pulsa Ctrl+C.

El servidor web incorporado

¿Recuerdas que dijimos que necesitabas Apache o Nginx para ver tu web? Bueno, es una verdad a medias.

Desde la versión 5.4, PHP incluye un servidor web ligero para desarrollo. Es increíblemente útil si quieres probar algo rápido sin configurar Laragon o Docker.

En tu terminal, dentro de tu carpeta de proyecto, escribe:

php -S localhost:8000
Copied!

Nota la S mayúscula

La terminal se quedará “esperando”. Ahora abre tu navegador y ve a http://localhost:8000. ¡Ahí está tu web!

La terminal te mostrará un registro (log) de cada visita en tiempo real. Para apagar el servidor, vuelve a la terminal y pulsa Ctrl+C.

Este servidor es solo para desarrollo. Su configuración predeterminada está pensada para pruebas locales y no ofrece las prestaciones ni el endurecimiento de un servidor de producción.