Cómo utilizar el servidor web integrado de PHP en un entorno de desarrollo

5min

Como ya sabemos, PHP es un excelente recurso para poner en marcha numerosos proyectos web, incluyendo cuando trabajamos con CMS, como explicábamos en nuestro artículo Cómo mejorar el rendimiento de PHP.  Hoy, vamos a centrarnos en el uso del servidor web que viene en la instalación de PHP, desde la versión 5.4 en adelante y también conocido como Built-in Web Server. De este modo, evitamos tener que utilizar otro software con las mismas funcionalidades, especialmente de cara a los entornos de desarrollo. ¡Veamos qué ventajas ofrece y cómo utilizarlo! El uso de este servidor web ya integrado en el propio PHP es muy sencillo, ya que con un solo comando podemos lanzarlo. ¿Cómo se hace? Simplemente, desde la carpeta donde queramos servir la página  web, que será el Document Root del servidor a iniciar:

php -S localhost:8080

Al lanzar este comando, obtendremos toda la información necesaria sobre cómo acceder al servidor que hemos arrancado.

Comando

Índice

Recomendación de uso del servidor integrado en el ejecutable de PHP

Este servidor integrado de PHP es perfecto para los entornos de desarrollo, pero no es apropiado para los de producción. Es la alternativa más básica en cuanto a servidores de desarrollo, por lo que es posible que no cumpla con todas las expectativas del desarrollador. De hecho, si necesitamos utilizar una base de datos avanzada tipo MySQL, existen alternativas mucho más completas como Mamp, Xampp o Ampps, que además de incluir MySQL, ofrecen diferentes software para la administración de las bases de datos, como puede ser PhpMyAdmin.

Ventajas del servidor web integrado

La principal ventaja que nos ofrece esta opción es que podemos utilizar cualquier carpeta de nuestro equipo como si fuera un dominio propio, para poder servir nuestra web durante la etapa de desarrollo. Por ejemplo, si utilizamos Xampp  sin configurar un host virtual, las rutas de los proyectos podrían parecerse a https://localhost/miproyecto1https://localhost/proyecto2.

En cambio, el servidor integrado nos permite utilizar la web sin tener que especificar en qué carpeta se ubica el proyecto https://localhost:8080

De este modo, la URL haría las veces de home de un dominio, escogiendo la carpeta que queremos como Document Root al arrancar el servidor.

Gracias a este tipo de servidor integrado de PHP, podremos ejecutar el código contenido en una carpeta concreta de un modo rápido y sin necesidad de ningún tipo de software adicional. Además, permite acceder de forma fácil a un sitio web desde otros dispositivos que compartan la misma red.

Uso del servidor integrado de PHP

A continuación, os damos algunos consejos sobre cómo usar el Built-in Web Server de PHP:

  • Para usuarios que tengan Windows. Existen diferentes tipos de software avanzados de terminal que facilitan mucho la tarea, como son Power Sherll, Git Bash o Cmder.
  • Para el resto de usuarios. Lo primero que deberemos hacer es instalar PHP en nuestro sistema.  Para ello, podemos ayudarnos de software como Ampps o Xampp en Windows, de homebrew en Mac y de apt-get o gestores de paquetes de distribución similares para Linux.

Si queremos ejecutar el servidor integrado, deberemos dirigirnos a la carpeta donde se ubiquen los archivos que serviremos, a través de comando cd, seguido del nombre de la carpeta a la que queramos acceder:

cd mi_carpeta

Cuando hayamos accedido a la carpeta en concreto, ejecutaremos el comando de PHP que iniciará el servidor integrado.

Configurar el servidor web integrado en PHP

Podemos configurar el comando que inicie nuestro servidor web con varios comandos sencillos. Primero, lo que hay que hacer es elegir el nombre del host y el puerto gracias a la opción -S. Por ejemplo, utilizando este comando indicaremos que el servidor web debe arrancar en localhost y escuchar en el puerto 8080:

php -S localhost:8080

Al acceder a una URL, si queremos indicar el puerto, hemos de poner : seguido del número de puerto escogido detrás del dominio o de la IP, como por ejemplo:

https://localhost:8080

En el caso de que dicho puerto esté ocupado, podríamos cambiarlo de la siguiente forma:

php -S localhost:8888

De este modo, la web estará disponible en la siguiente URL: https://localhost:8888.

Acceso desde otros dispositivos

Tal y como indicábamos antes, podemos iniciar el servidor desde otro dispositivo que esté en la misma red. Para ello, solamente tendremos que indicar nuestra IP (la IP del ordenador en nuestra red local) y el puerto desde el que hayamos arrancado el servidor:

php -S 192.168.0.3:8000

Así, podremos acceder al servidor con la siguiente URL: https://192.168.0.3:8000.

Definir otra carpeta como Document Root

Una de las ventajas que tiene este servidor es que nos brinda la posibilidad de definir cuál queremos que sea la carpeta que utilizaremos como Document Root. Esta carpeta será la que contenga el index.php de la home y será la carpeta raíz de nuestro dominio.

Podemos definir la carpeta con el comando visto anteriormente (cd mi_carpeta) o mediante el parámetro  –t seguido del nombre del Document Root que emplearemos:

php -S localhost:8000 -t public/

El servidor web integrado de PHP es una herramienta que puede resultar muy útil para en el entorno de desarrollo. Aunque puede resultar una opción un tanto limitada  para los proyectos más complejos, sí puede ser de gran ayuda para la mayoría de proyectos de presencia web, por lo que  conviene que tengamos en cuenta todo lo que es capaz de ofrecer.

Fernán García de Zúñiga

Productos relacionados: