Skip to content

Instalación del entorno PHP ​

Para ejecutar PHP necesitas un servidor en tu computadora. En esta lección instalarás un entorno completo en Windows (PHP + servidor web + MySQL), aprenderás a usar PHP desde la terminal y a levantar un servidor en segundos con php -S.

Concepto ​

Un entorno de desarrollo PHP típico tiene tres piezas:

  1. PHP: el intérprete que ejecuta tu código.
  2. Servidor web (Apache o Nginx): recibe las peticiones HTTP y le pasa los .php a PHP.
  3. Base de datos (MySQL o MariaDB): donde guardarás usuarios, productos, etc.

Instalar las tres a mano es tedioso, por eso existen paquetes "todo en uno":

HerramientaVentajasIdeal para
LaragonLigero, rápido, cambia de versión de PHP fácil, URLs bonitas (miproyecto.test)Recomendado en Windows
XAMPPMuy conocido, muchos tutorialesSi tu escuela/trabajo ya lo usa
Laravel HerdMuy simple, pensado para LaravelLo verás en el curso de Laravel
PHP suelto + php -SMínimo, sin instalar ApachePruebas rápidas y APIs

Opción A: Laragon (recomendada) ​

  1. Descarga Laragon Full desde laragon.org e instálalo (deja la ruta por defecto C:\laragon).
  2. Abre Laragon y pulsa Iniciar todo (Start All). Arrancan Apache y MySQL.
  3. Tu carpeta de proyectos es C:\laragon\www.
  4. Crea la carpeta C:\laragon\www\hola y dentro un archivo index.php:
php
<?php
// C:\laragon\www\hola\index.php
echo "¡PHP funciona! Versión: " . PHP_VERSION;
  1. Visita http://localhost/hola o, gracias a los virtual hosts automáticos de Laragon, http://hola.test (puede que tengas que pulsar Recargar en Laragon tras crear la carpeta).

Para cambiar de versión de PHP: clic derecho en Laragon → PHP → Versión. Si necesitas PHP 8.3 o superior y no aparece, descarga el ZIP Thread Safe x64 desde windows.php.net, descomprímelo en C:\laragon\bin\php\ y selecciónalo.

Opción B: XAMPP ​

  1. Descarga XAMPP desde apachefriends.org (elige la versión con PHP 8.x más reciente).
  2. Instala en C:\xampp (evita Archivos de programa por temas de permisos).
  3. Abre el XAMPP Control Panel y pulsa Start en Apache y MySQL.
  4. Tu carpeta de proyectos es C:\xampp\htdocs.
  5. Crea C:\xampp\htdocs\hola\index.php y visita http://localhost/hola.

phpMyAdmin (para administrar MySQL visualmente) queda en http://localhost/phpmyadmin.

Error común

"Apache no arranca" casi siempre significa que el puerto 80 está ocupado (Skype antiguo, IIS, otro servidor). En XAMPP: Config → httpd.conf → cambia Listen 80 por Listen 8080 y visita http://localhost:8080. Con MySQL pasa lo mismo con el puerto 3306 si tienes otro MySQL instalado.

PHP desde la terminal (CLI) ​

PHP no sólo sirve para páginas web: también puedes ejecutar scripts desde la terminal. Para que el comando php funcione en cualquier carpeta debe estar en el PATH.

  • Laragon: menú → Herramientas → Path → Añadir Laragon a Path.
  • XAMPP: añade C:\xampp\php al PATH manualmente.

Para añadirlo manualmente: busca "Variables de entorno" en Windows → Variables de entorno → en Path de tu usuario pulsa Editar → Nuevo → pega la ruta de la carpeta que contiene php.exe. Cierra y vuelve a abrir la terminal.

Comprueba:

powershell
php -v
# PHP 8.3.x (cli) (built: ...)

php -m          # Lista las extensiones cargadas (busca pdo_mysql, mbstring, openssl...)
php --ini       # Muestra qué archivo php.ini está usando

Ejecuta un script:

php
<?php
// saludo.php
$nombre = $argv[1] ?? 'mundo'; // $argv contiene los argumentos de la terminal
echo "Hola, $nombre" . PHP_EOL; // PHP_EOL = salto de línea del sistema
powershell
php saludo.php
# Hola, mundo
php saludo.php Erick
# Hola, Erick

También puedes probar código al vuelo con el modo interactivo:

powershell
php -a
# php > echo 2 + 3;
# 5

El servidor integrado php -S ​

PHP trae un servidor web mínimo, perfecto para desarrollo. No necesitas Apache:

powershell
cd C:\Users\tu-usuario\proyectos\mi-sitio
php -S localhost:8000

Ahora abre http://localhost:8000. Sirve los archivos de la carpeta actual; index.php es la página por defecto. Para detenerlo pulsa Ctrl + C.

Opciones útiles:

powershell
# Servir una subcarpeta como raíz pública (muy usado en proyectos con carpeta public/)
php -S localhost:8000 -t public

# Usar un "router": todas las peticiones pasan por router.php
php -S localhost:8000 router.php

Un router mínimo para URLs limpias:

php
<?php
// router.php — usado con: php -S localhost:8000 router.php
$ruta = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

// Si el archivo existe (css, imágenes, js), deja que el servidor lo entregue tal cual.
if ($ruta !== '/' && file_exists(__DIR__ . $ruta)) {
    return false;
}

// Cualquier otra ruta la manejamos nosotros.
require __DIR__ . '/index.php';

Sólo para desarrollo

php -S atiende una petición a la vez y no tiene medidas de seguridad de producción. Nunca lo uses para publicar un sitio real.

Configurar php.ini para desarrollo ​

php.ini controla el comportamiento de PHP. Abre el que indica php --ini (en Laragon: menú → PHP → php.ini) y asegúrate de tener en desarrollo:

ini
; Mostrar todos los errores mientras desarrollas
display_errors = On
error_reporting = E_ALL

; Zona horaria (evita avisos y horas incorrectas)
date.timezone = America/Mexico_City

; Límites de subida de archivos
upload_max_filesize = 20M
post_max_size = 25M

; Extensiones que usaremos en el curso (quita el ; si están comentadas)
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=fileinfo
extension=curl
extension=zip

Reinicia Apache (o el servidor php -S) después de editarlo. Comprueba la configuración con:

php
<?php
// info.php — muestra toda la configuración de PHP
phpinfo();

Error común

Dejar info.php o display_errors = On en un servidor de producción. phpinfo() revela rutas, versiones y configuración que ayudan a un atacante. Bórralo en cuanto termines de revisar. Más en Seguridad web.

Editor recomendado ​

Visual Studio Code con estas extensiones:

  • PHP Intelephense: autocompletado, errores en vivo, ir a definición.
  • PHP Debug (con Xdebug) para depurar paso a paso (opcional al principio).
  • EditorConfig y Prettier para mantener el formato.

En la configuración de VS Code, indica la ruta del ejecutable:

json
{
  "php.validate.executablePath": "C:\\laragon\\bin\\php\\php-8.3.12-Win32-vs16-x64\\php.exe",
  "intelephense.environment.phpVersion": "8.3.0"
}

(Ajusta la ruta a la versión que tengas instalada.)

Buena práctica

Usa en tu computadora la misma versión mayor de PHP que tendrá el hosting del cliente. Si desarrollas en 8.3 y el hosting tiene 7.4, funciones como match o str_contains romperán el sitio al subirlo.

Ejercicios ​

  1. Instala Laragon o XAMPP, crea un proyecto prueba con un index.php que muestre la versión de PHP y la fecha actual.
  2. Desde la terminal, crea un script suma.php que reciba dos números como argumentos y muestre su suma: php suma.php 4 6 → 4 + 6 = 10.
  3. Levanta el mismo proyecto con php -S localhost:8080 y ábrelo en el navegador.
Ver solución
php
<?php
// index.php
echo "<h1>PHP " . PHP_VERSION . "</h1>";
echo "<p>Hoy es " . date('d/m/Y H:i') . "</p>";
php
<?php
// suma.php
// $argv[0] es el nombre del script; los argumentos empiezan en 1.
if ($argc < 3) {
    echo "Uso: php suma.php <numero1> <numero2>" . PHP_EOL;
    exit(1); // Código de salida distinto de 0 = error
}

$a = (float) $argv[1];
$b = (float) $argv[2];

echo "$a + $b = " . ($a + $b) . PHP_EOL;
powershell
cd C:\laragon\www\prueba
php -S localhost:8080
# Abre http://localhost:8080

Resumen ​

  • Necesitas PHP + servidor web + base de datos; Laragon o XAMPP lo traen todo.
  • Tus proyectos van en C:\laragon\www o C:\xampp\htdocs y se abren en http://localhost/....
  • Añade PHP al PATH para usar php -v, php script.php y php -a.
  • php -S localhost:8000 levanta un servidor de desarrollo sin Apache; -t public cambia la raíz.
  • Configura php.ini con errores visibles en desarrollo y la zona horaria correcta.
  • Nunca dejes phpinfo() ni errores visibles en producción.

Academia Web — aprende, copia y construye.