1.4 – Entorno de trabajo para programar con PHP 🎥

Antes de empezar a programar con PHP necesitamos preparar un entorno de trabajo. PHP no funciona igual que HTML o CSS, donde podemos abrir directamente el archivo en el navegador. En PHP necesitamos un servidor que interprete el código y devuelva al navegador el resultado generado.

Cuando escribimos una página en PHP, el navegador no ejecuta directamente ese código. El proceso habitual es el siguiente:

  1. El usuario accede a una dirección desde el navegador.
  2. El navegador hace una petición al servidor web.
  3. El servidor localiza el archivo PHP solicitado.
  4. PHP interpreta el código del archivo.
  5. El servidor devuelve al navegador una página HTML generada.
  6. El navegador muestra el resultado final al usuario.

Por este motivo, para trabajar cómodamente durante el aprendizaje vamos a utilizar un entorno local. Esto nos permitirá tener en nuestro propio ordenador todo lo necesario para probar nuestras aplicaciones web sin depender de un servidor externo.

Entornos locales preparados

Existen herramientas que instalan de forma sencilla los elementos básicos que necesitamos para trabajar con PHP. Algunas de las más conocidas son:

HerramientaSistemas habitualesIncluye normalmenteUso principal
XAMPPWindows, Linux y macOSApache, PHP, MariaDB/MySQL y phpMyAdminMuy usado en formación y pruebas locales
MAMPmacOS y WindowsApache o Nginx, PHP, MySQL y herramientas de gestiónMuy cómodo en equipos Mac
WAMPWindowsApache, PHP y MySQL/MariaDBAlternativa clásica para Windows
LaragonWindowsApache/Nginx, PHP, MySQL y otras herramientasEntorno ligero y flexible para desarrollo

Estas herramientas nos permiten arrancar un servidor web en nuestro propio equipo. De esta forma podremos guardar nuestros archivos PHP en una carpeta concreta del entorno y acceder a ellos desde el navegador usando direcciones como:

http://localhost/

o, según la configuración:

http://localhost/mi_proyecto/

La palabra localhost hace referencia a nuestro propio ordenador. Es decir, estamos usando nuestro equipo como si fuera un pequeño servidor web local.

Por qué no usaremos inicialmente las integraciones de los IDE

Muchos editores e IDEs modernos permiten ejecutar PHP directamente desde sus propias herramientas, extensiones o servidores integrados. Por ejemplo, algunos entornos permiten lanzar un servidor interno, depurar código o conectar directamente con bases de datos.

Aunque estas opciones son útiles, al principio no las vamos a utilizar como base principal. El motivo es que queremos entender claramente cómo funciona una aplicación PHP en un entorno realista:

  • dónde se colocan los archivos del proyecto;
  • qué papel tiene el servidor web;
  • cómo se comunica el navegador con el servidor;
  • cómo se interpreta el código PHP;
  • cómo se conecta PHP con una base de datos;
  • cómo se accede a una aplicación desde una URL.

Usar herramientas como XAMPP o MAMP nos ayuda a ver el proceso completo de forma más clara. El IDE será nuestro editor de código, pero no queremos que oculte el funcionamiento real del servidor.

Por tanto, podremos usar editores como Visual Studio Code, PhpStorm, Eclipse, NetBeans u otros, pero el servidor será externo al IDE. Así entenderemos mejor la arquitectura real de una aplicación web.

Trabajar directamente en un servidor

Otra posibilidad es trabajar directamente sobre un servidor remoto. En este caso, los archivos PHP no se ejecutan en nuestro ordenador, sino en una máquina conectada a la red o a Internet.

Por ejemplo, podríamos tener un servidor con Linux, Apache, PHP y MySQL instalado. Subiríamos nuestros archivos mediante FTP, SFTP, Git o alguna herramienta similar, y probaríamos la aplicación desde el navegador accediendo a la dirección del servidor.

Este enfoque se parece más a un entorno de producción, pero también tiene algunos inconvenientes para empezar:

  • es más fácil cometer errores que afecten a una aplicación real;
  • dependemos de la conexión con el servidor;
  • la configuración inicial puede ser más compleja;
  • es menos cómodo para hacer pruebas rápidas;
  • puede ser más difícil depurar errores al principio.

Aun así, es importante conocer esta forma de trabajo, porque muchas aplicaciones PHP se despliegan finalmente en servidores reales.

Trabajar con contenedores

Más adelante también podremos trabajar con contenedores, especialmente usando Docker. Esta forma de trabajo permite crear entornos aislados donde cada servicio se ejecuta en su propio contenedor.

Por ejemplo, una aplicación PHP podría tener varios contenedores:

ContenedorFunción
Apache o NginxServidor web
PHPInterpretación del código PHP
MySQL o MariaDBBase de datos
phpMyAdminGestión visual de la base de datos

La ventaja de los contenedores es que podemos definir todo el entorno en archivos de configuración. Así, cualquier alumno o desarrollador puede levantar el mismo entorno en su equipo con los mismos servicios y versiones.

En este curso empezaremos usando entornos locales como XAMPP o MAMP porque son más directos para aprender. Más adelante veremos cómo llevar estos conocimientos a entornos más profesionales usando servidores reales y contenedores.

Idea principal

Para aprender PHP correctamente no basta con escribir código. También necesitamos entender el entorno donde ese código se ejecuta.

PHP forma parte de una arquitectura cliente-servidor. El navegador actúa como cliente, el servidor procesa la petición, PHP genera el contenido dinámico y la base de datos almacena la información.

Por eso, durante las primeras prácticas trabajaremos con un servidor local instalado en nuestro propio ordenador. Esto nos permitirá aprender paso a paso cómo funciona una aplicación web antes de pasar a escenarios más avanzados como servidores remotos o contenedores Docker.

Instalación de XAMPP

1. ¿Qué es XAMPP?

XAMPP es un paquete de software que nos permite instalar de forma sencilla un entorno de servidor web en nuestro propio ordenador.

Cuando trabajamos con PHP no basta con abrir el archivo directamente en el navegador, como haríamos con un archivo HTML. PHP necesita ser interpretado por un servidor. XAMPP nos proporciona ese entorno de trabajo local para poder practicar y desarrollar aplicaciones web.

XAMPP incluye normalmente los siguientes componentes:

ComponenteFunción
ApacheServidor web que recibe las peticiones del navegador
PHPLenguaje que interpreta los archivos .php
MariaDB / MySQLSistema de base de datos
phpMyAdminHerramienta web para gestionar bases de datos
PerlOtro lenguaje incluido en el paquete

En este curso usaremos XAMPP como entorno local para aprender PHP de forma sencilla antes de pasar a entornos más avanzados como servidores reales o contenedores Docker.


2. Descargar XAMPP

Para descargar XAMPP debemos acceder a la página oficial:

https://www.apachefriends.org/es/download.html

Es recomendable descargar siempre XAMPP desde la página oficial de Apache Friends para evitar instaladores modificados o versiones no fiables.


3. Instalación de XAMPP en Windows

3.1. Descargar el instalador

Desde la página oficial descargamos la versión de XAMPP para Windows.

El archivo descargado tendrá un nombre parecido a este:

xampp-windows-x64-8.x.x-installer.exe

El número de versión puede cambiar dependiendo de la versión disponible en ese momento.


3.2. Ejecutar el instalador

Una vez descargado el archivo, hacemos doble clic sobre él para iniciar la instalación.

Es posible que Windows muestre una advertencia de seguridad o de permisos. En ese caso, aceptamos la ejecución si hemos descargado el archivo desde la página oficial.

También puede aparecer una advertencia relacionada con el control de cuentas de usuario de Windows. Para evitar problemas de permisos, es recomendable instalar XAMPP directamente en:

C:\xampp

No es recomendable instalarlo dentro de Archivos de programa, ya que puede dar problemas de permisos al trabajar con archivos del servidor.


3.3. Seleccionar componentes

Durante la instalación aparecerá una pantalla para seleccionar los componentes.

Para este curso podemos dejar marcados, como mínimo:

  • Apache
  • MySQL o MariaDB
  • PHP
  • phpMyAdmin

También pueden aparecer otros componentes como Perl, Tomcat, Mercury o FileZilla. Para empezar con PHP no son imprescindibles.


3.4. Elegir carpeta de instalación

Seleccionamos como carpeta de instalación:

C:\xampp

Esta será la carpeta principal donde se instalará XAMPP.

Dentro de esta carpeta encontraremos subcarpetas importantes como:

CarpetaFunción
apacheArchivos del servidor Apache
mysqlArchivos relacionados con la base de datos
phpArchivos del intérprete PHP
htdocsCarpeta donde colocaremos nuestros proyectos web

3.5. Finalizar la instalación

Continuamos con el asistente hasta finalizar.

Al terminar, podemos marcar la opción para abrir el panel de control de XAMPP.





6. El panel de control de XAMPP

Una vez instalado XAMPP, podemos abrir su panel de control.

Desde este panel podremos iniciar y detener los servicios principales.

Los servicios que más usaremos al principio son:

ServicioPara qué sirve
ApachePermite ejecutar páginas PHP desde el navegador
MySQL / MariaDBPermite trabajar con bases de datos
phpMyAdminPermite administrar las bases de datos desde el navegador

Para trabajar con PHP debemos iniciar como mínimo:

  • Apache

Si nuestra aplicación usa base de datos, también debemos iniciar:

  • MySQL o MariaDB

7. Comprobar que XAMPP funciona

Una vez iniciado Apache, abrimos el navegador y escribimos:

http://localhost

Si XAMPP está funcionando correctamente, veremos la página de bienvenida o panel inicial de XAMPP.

Esto significa que nuestro ordenador ya está funcionando como servidor web local.


8. Carpeta donde se guardan los proyectos

La carpeta más importante para empezar es htdocs.

En Windows suele estar en:

C:\xampp\htdocs

En macOS suele estar en:

/Applications/XAMPP/htdocs

En Linux suele estar en:

/opt/lampp/htdocs

Todo lo que coloquemos dentro de esa carpeta podrá abrirse desde el navegador usando localhost.


9. Crear nuestro primer proyecto PHP

Dentro de la carpeta htdocs, creamos una carpeta llamada:

mi_proyecto

Dentro de esa carpeta creamos un archivo llamado:

index.php

La estructura quedaría así:

htdocs/
└── mi_proyecto/
    └── index.php

Dentro del archivo index.php escribimos:

<?php
echo "Hola, estoy ejecutando PHP con XAMPP";
?>

Guardamos el archivo.

Después abrimos el navegador y escribimos:

http://localhost/mi_proyecto/index.php

Si todo está correcto, veremos en pantalla:

Hola, estoy ejecutando PHP con XAMPP

10. Probar PHP dentro de HTML

También podemos mezclar HTML y PHP dentro del mismo archivo.

Modificamos el archivo index.php con este contenido:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Primera prueba con PHP</title>
</head>
<body>

    <h1>Mi primera página con PHP</h1>

    <p>Este texto está escrito en HTML.</p>

    <p>
        <?php
            echo "Este texto ha sido generado por PHP.";
        ?>
    </p>

</body>
</html>

Al abrir de nuevo:

http://localhost/mi_proyecto/index.php

veremos una página HTML normal, pero parte de su contenido habrá sido generado por PHP.


11. Crear una página de información de PHP

PHP tiene una función muy útil para comprobar la configuración instalada:

<?php
phpinfo();
?>

Podemos crear un archivo llamado:

info.php

dentro de nuestra carpeta mi_proyecto.

La estructura quedaría así:

htdocs/
└── mi_proyecto/
    ├── index.php
    └── info.php

Dentro de info.php escribimos:

<?php
phpinfo();
?>

Después abrimos en el navegador:

http://localhost/mi_proyecto/info.php

Aparecerá una página con información sobre la versión de PHP, configuración, extensiones activas y otros datos del entorno.

Esta página es útil para comprobar que PHP funciona correctamente.

Importante: en proyectos reales no se debe dejar publicado un archivo phpinfo(), porque muestra demasiada información del servidor.


12. Acceder a phpMyAdmin

Si hemos iniciado Apache y MySQL/MariaDB desde el panel de control de XAMPP, podemos acceder a phpMyAdmin desde el navegador:

http://localhost/phpmyadmin

phpMyAdmin nos permite gestionar bases de datos desde una interfaz web.

Desde ahí podremos:

  • crear bases de datos;
  • crear tablas;
  • insertar datos;
  • modificar registros;
  • ejecutar consultas SQL;
  • importar y exportar bases de datos.

Más adelante usaremos esta herramienta para conectar nuestras aplicaciones PHP con una base de datos.


13. Problemas frecuentes

Apache no arranca

Uno de los problemas más habituales es que Apache no pueda iniciarse porque el puerto 80 ya está ocupado.

El puerto 80 puede estar siendo usado por otros programas como:

  • IIS de Windows;
  • Skype;
  • Docker;
  • otro servidor web;
  • alguna herramienta de desarrollo.

Soluciones posibles:

  1. Cerrar el programa que está usando el puerto 80.
  2. Cambiar el puerto de Apache.
  3. Ejecutar XAMPP como administrador en Windows.

Si cambiamos Apache al puerto 8080, accederíamos así:

http://localhost:8080

Y nuestros proyectos se abrirían así:

http://localhost:8080/mi_proyecto/index.php

MySQL o MariaDB no arranca

Puede ocurrir que la base de datos no arranque porque el puerto 3306 esté ocupado.

Ese puerto puede estar siendo usado por otra instalación de MySQL o MariaDB.

Soluciones posibles:

  1. Detener el otro servicio de MySQL/MariaDB.
  2. Cambiar el puerto de la base de datos en XAMPP.
  3. Reiniciar el equipo y probar de nuevo.
  4. Revisar los logs desde el panel de control.

El navegador muestra el código PHP en lugar del resultado

Si al abrir un archivo PHP vemos el código escrito en pantalla, normalmente significa que estamos abriendo el archivo directamente desde el sistema de archivos.

Ejemplo incorrecto:

file:///C:/xampp/htdocs/mi_proyecto/index.php

Forma correcta:

http://localhost/mi_proyecto/index.php

Los archivos PHP deben ejecutarse a través del servidor, no abrirse directamente como archivos locales.


Error 404 al abrir el proyecto

Un error 404 significa que el servidor no encuentra el archivo o carpeta que estamos solicitando.

Debemos comprobar:

  • que Apache está iniciado;
  • que la carpeta del proyecto está dentro de htdocs;
  • que el nombre de la carpeta está bien escrito;
  • que el archivo index.php existe;
  • que la URL coincide con la estructura real.

Por ejemplo, si tenemos:

C:\xampp\htdocs\mi_proyecto\index.php

la URL correcta será:

http://localhost/mi_proyecto/index.php

14. Buenas prácticas para organizar proyectos

Dentro de htdocs podemos crear una carpeta para cada proyecto.

Ejemplo:

htdocs/
├── proyecto_01/
│   └── index.php
├── proyecto_02/
│   └── index.php
└── pruebas_php/
    └── index.php

Es recomendable usar nombres de carpetas sencillos:

  • sin espacios;
  • sin acentos;
  • en minúsculas;
  • usando guiones bajos o guiones medios si hace falta.

Ejemplos recomendados:

mi_proyecto
tienda_online
practica_01
reservas_camping

Ejemplos poco recomendables:

Mi Proyecto
Práctica PHP número 1
web final!!!

15. Resumen del proceso

El proceso básico para trabajar con XAMPP será siempre parecido:

  1. Abrir XAMPP.
  2. Iniciar Apache.
  3. Iniciar MySQL/MariaDB si vamos a usar base de datos.
  4. Crear una carpeta de proyecto dentro de htdocs.
  5. Crear archivos .php.
  6. Abrir el proyecto desde el navegador usando localhost.
  7. Comprobar el resultado.
  8. Corregir el código y volver a probar.

La idea principal es entender que PHP no se ejecuta en el navegador. PHP se ejecuta en el servidor local que nos proporciona XAMPP. El navegador solo recibe el resultado final, normalmente HTML.


16. Actividad propuesta para el alumno

Objetivo

Comprobar que XAMPP está correctamente instalado y que PHP funciona en el equipo.

Pasos

  1. Instala XAMPP en tu sistema operativo.
  2. Abre el panel de control de XAMPP.
  3. Inicia Apache.
  4. Abre en el navegador:
http://localhost
  1. Crea una carpeta dentro de htdocs llamada:
prueba_php
  1. Dentro de esa carpeta crea un archivo llamado:
index.php
  1. Escribe el siguiente código:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Prueba PHP</title>
</head>
<body>

    <h1>Prueba de XAMPP y PHP</h1>

    <p>
        <?php
            echo "PHP está funcionando correctamente.";
        ?>
    </p>

</body>
</html>
  1. Abre en el navegador:
http://localhost/prueba_php/index.php
  1. Comprueba que se muestra correctamente el mensaje.

Preguntas de reflexión

  1. ¿Por qué no podemos abrir un archivo PHP directamente con doble clic?
  2. ¿Qué papel cumple Apache dentro de XAMPP?
  3. ¿Qué diferencia hay entre abrir localhost y abrir un archivo con file:///?
  4. ¿Dónde debemos guardar nuestros proyectos PHP?
  5. ¿Para qué sirve phpMyAdmin?
  6. ¿Qué ocurre si Apache no está iniciado?

17. Conclusión

XAMPP nos permite disponer de un entorno de desarrollo local para aprender y practicar PHP sin necesidad de contratar un servidor externo.

Gracias a XAMPP podemos simular en nuestro propio ordenador el funcionamiento básico de una aplicación web real: el navegador hace una petición, Apache la recibe, PHP interpreta el código y el navegador muestra el resultado final.

Este entorno será la base inicial del curso. Más adelante podremos comparar esta forma de trabajo con otras opciones más avanzadas, como servidores remotos, máquinas virtuales o contenedores Docker.