Guía definitiva para crear tu entorno de desarrollo para PHP

  • Por
  • PHP
Guía completa para la creación de tu entorno de desarrollo con PHP para sistemas Windows, Linux y Mac, tanto para personas que se inician como para desarrolladores experimentados.

Ha llovido mucho desde que redactamos nuestro Manual de PHP básico. A lo largo de todos estos años ha cambiado mucho nuestra manera de trabajar con este lenguaje y también las herramientas disponibles para ser más productivos y trabajar en entornos más profesionales.

En este artículo pretendemos no solo actualizar nuestra guía de PHP, sino también ofrecer una vista de pájaro de todas las opciones disponibles en la actualidad para instalar PHP y MySQL más un servidor web donde poder ejecutar los sitios que vayamos desarrollando. Además queremos clasificar las distintas maneras según su dificultad, de modo que analizaremos tanto los entornos más básicos y sencillos de usar, como los más avanzados y profesionales.

En este artículo no pretendo dar una guía paso por paso para instalar PHP, algo que ya se ha explicado en otros artículos ya publicados en DesarrolloWeb.com, sino aclarar las distintas alternativas de creación de tu entorno de desarrollo, básico, intermedio y avanzado. De este modo el interesado podrá tener una buena idea de cómo puede crear su entorno de desarrollo para comenzar y cuáles serían los siguientes pasos y posibilidades si quiere incrementar las prestaciones, en un entorno más productivo o profesional. Cada una de las posibilidades de instalación se acompañará de enlaces a referencias con guías específicas para conseguir una rápida y sencilla configuración.

Qué programas necesitas instalar para trabajar con PHP

Antes que nada, para ayudar a los usuarios más inexpertos, conviene aclarar que programas necesitas para poder empezar a desarrollar con PHP. Son pocos:

  • PHP, el propio lenguaje.
  • Una base de datos, que suele ser MySQL pero que podría ser cualquier otra. Es importante porque cualquier proyecto básico suele apoyarse para su desarrollo en un sistema gestor de base de datos donde almacenar la información.
  • Un servidor web, que puede ser comúnmente Apache o Nginx. Es importante porque para que se pueda servir una web, el navegador tiene que acceder a un servidor. Además, PHP lo más normal es que se instale como módulo de un servidor web, de modo que las páginas generadas por el servidor se puedan procesar mediante PHP.

Como servidor web la alternativa más común con diferencia es Apache, aunque se podría ejecutar PHP sobre otra serie de servidores web. El propio Apache es multiplatadorma, igual que PHP, y lo tenemos disponible en Linux, Mac o Windows. Además de ser la solución más habitual, Apache es también la que tiene más opciones avanzadas. Aunque hoy la alternativa Nginx nos ofrece un servidor ligero y rápido, preferido por muchas personas. En entornos Windows también podrías instalar PHP sobre un IIS, aunque esa alternativa es menos común.

No obstante, no debes marearte por tantas posibilidades en cuanto a servidores, ya que el funcionamiento de PHP es independiente del servidor donde se esté ejecutando. Tengas uno u otro, el procesado y resultado de ejecución de PHP será el mismo.

Qué tipo de entornos de desarrollo podemos usar

Una vez aclarados los distintos programas que necesitas y antes de entrar en el detalle sobre cómo instalar PHP quiero describir brevemente las posibilidades de instalación de PHP. En siguientes puntos de este artículo entraremos en detalle con cada punto, pero antes queremos que se conozcan todos.

Nota: Ahora observarás que te indico varias alternativas. No quiero con ello despistar y parecer que comenzar con PHP es difícil, sino ofrecer un poco de cultura general y clarificar cuáles serían los siguientes pasos si ahondas en el mundo de PHP. Si todo esto te parece "hablar en chino", no te preocupes, quédate con la opción "instaladores todo-en-uno" y verás que tienes PHP funcionando en tu ordenador en 5 o 10 minutos.

Instaladores todo-en-uno

Lo más cómodo, rápido y directo es instalar todos los programas necesarios de una única vez, a través de uno de los muchos paquetes de instalación que luego mencionaremos. Esta alternativa es la más recomendada para la mayoría de las personas que empiezan y son muy útiles porque permiten contar, en un único paso, con todo lo que necesitas para trabajar No solo te instalará todos los programas mencionados antes, sino que además los configurarán correctamente para trabajar entre ellos.

Con estos instaladores todo en uno podrás en minutos tener PHP, Apache y MySQL y comenzar a desarrollar sin complicaciones. Si estás empezando con PHP y quieres aprender a desarrollar es la opción más interesante.

Instalación de todos los programas por separado

Solo para los usuarios de Linux mi recomendación sería instalar todo lo que necesitas por separado, por medio de los correspondientes repositorios. Es muy sencillo y si trabajas en Linux seguro sabes de lo que estoy hablando. Existen Todo-en-uno para Linux pero no es la manera natural de trabajar en este sistema.

Virtualización

Para los usuarios más avanzados existe la posibilidad de virtualizar. Básicamente consiste en instalar en tu ordenador una máquina virtual y ejecutar tus aplicaciones desarrolladas con PHP en esa máquina virtualizada (guest) y no en tu sistema real (host).

La virtualización es muy útil porque nos permite trabajar en un entorno de desarrollo que será lo más parecido al entorno de producción (aquel donde vas a poner tu aplicación web en funcionamiento). Es el entorno más profesional y nos ahorra determinadas complicaciones habituales que enumeramos a continuación.

  1. Aunque PHP funciona igual en cualquier sistema cuando estás desarrollando, puedes tener diversos módulos instalados que igual no se encuentran en el entorno de producción, o viceversa. Eso puede hacer que tus páginas funcionen en un sitio y no en otro.
  2. Para equipos de trabajo, donde cada uno desarrolla con un sistema operativo y con programas de diversos tipos, trabajar con una virtualización permitiría a todo el equipo ejecute la aplicación en el mismo entorno virtualizado, con las mismas librerías, servidores, mismas versiones, etc. Eso ahorra la posiblidad de que una aplicación no funcione a un desarrollador y sí a otro.
  3. Finalmente, al trabajar con un entorno virtualizado te obligas a trabajar con un dominio real, no accederás a tu proyecto con localhost y cada proyecto podrá tener sus propias configuraciones, sin que unos interfieran en otros. Al pasar de un proyecto a otro simplemente apagarás una máquina virtual y encenderás otra, serán independientes y no corres el riesgo que, al cambiar configuraciones para un proyecto, deje de funcionar el otro.

La virtualización la considero muy útil cuando se desarrollan aplicaciones realmente complejas, donde tienes gran número de dependencias, pero agrega dificultad para empezar. Es muy importante cuando se trabaja en equipo, sobre todo a medida que crece el número de desarrolladores. Pero no la recomendaría para una persona que está empezando con PHP, aunque sí me parece importante que se conozca que existe esa posibilidad.

Editores online

No quiero perder la oportunidad de nombrar otra alternativa interesante en la actualidad, si lo que quieres es probar PHP o trabajar desde cualquier ordenador y no depender de llevarte de un lugar a otro tu código y la instalación de servidores.

Los editores online permiten comenzar a usar PHP sin tener que instalar nada y programar sin salirte del propio navegador. Están muy bien, porque permiten aprovechar todas las ventajas de la nube y además, como en la virtualización, trabajar con entornos más reales, similares a los que usarías en producción

Los editores online tienen habitualmente entornos de desarrollo ya listos para trabajar y no necesitas instalar nada, simplemente hacer login en el editor online y comenzar a usarlo. Pero a decir verdad pueden ser un poco sofisticados para quienes están comenzando, ya que la mayoría están enfocados a desarrolladores con algo de experiencia. Si eres como yo, que toda la ofimática te la has llevado a la nube, apreciarás la posibilidad de trabajar con editores online, ya que podrás del mismo modo trabajar remotamente en cualquier ordenador, o incluso en el tablet, sobre el mismo proyecto. Aunque, a decir verdad, aunque lo he intentado, no he llegado nunca a usarlos para ningún proyecto.

Referencias para instalación de tu entorno de trabajo con PHP

Ahora que ya te deben quedar claras las posibilidades, quiero poner algunas referencias para que puedas saber cómo comenzar realmente en tu tarea de poner a punto tu ordenador para trabajar con PHP.

Instaladores todo en uno para Windows

Para Windows yo recomiendo Laragon por la cantidad de opciones de configuración y por la posibilidad de crear host virtuales automáticamente para cada proyecto. Xampp es la opción más tradicional y también es recomendable por su sencillez y por la gran comunidad de usuarios que encuentras en Internet, lo que es útil si tienes que buscar soluciones para resolver problemas comunes, o si tienes cualquier necesidad de configuración avanzada, ya que seguramente encontrarás fácilmente ayudas de otras personas que hayan tenido esa misma necesidad o problema. Encuentra más información de Xampp. Aunque si no te funciona por cualquier motivo hay otras alternativas como Wamp. No son los únicos del mercado, pero creo que sí los más importantes y recomendables.

Instaladores todo en uno para Mac

En el caso de Mac el que es más usado con diferencia es Mamp, que resulta muy interesante. La versión gratuita es muy sencilla, pero tiene lo que necesitas para comenzar. La versión de pago es muy avanzada y tiene unas prestaciones muy elevadas y configuraciones realmente útiles que puedes hacer a golpe de ratón. Si de verdad te dedicas profesionalmente a PHP creo que te interesa tener la versión profesional. Aprende más sobre Mamp.

Instalar en PHP en Linux

Como decía antes, si trabajas en Linux te recomiendo instalar PHP, aunque sea para comenzar, por medio de los repositorios de tu distro. Es muy sencillo y tienes una guía paso a paso aquí para instalar PHP en Ubuntu (o distros basadas en Debian como el propio Debian o Mint).

Entornos por medio de virtualización

Si deseas explorar esta posibilidad te recomendamos comenzar con Vagrant, que es la alternativa más sencilla de crear entornos de desarrollo que puedes compartir fácilmente con el resto del equipo, para que todos trabajen sobre una virtualización idéntica. Es gratuita y además existen diversas herramientas relacionadas que nos permiten crear virtualizaciones por medio de asistentes muy sencillos de usar.

Editores online

Existen varios pero creo que una buena alternativa para comenzar a explorarlos es Cloud9. Puedes encontrar más información de cloud9 aquí.

Conclusión

Espero que con esta serie de posibilidades te hayamos aclarado el camino sobre cuáles son las opciones para trabajar con PHP. Espero que tantas alternativas no hayan servido paa despistar, sino para cubrir un amplio espectro sobre el que puedas decidir.

A continuación en el Manual de PHP encontrarás más información detallada sobre cada una de estas alternativas principales. Nos centraremos en aquellas que nos permtien instalar todos los programas cómodamente con una única instalación, y en Linux la alternativa de instalar los softwares por separado, ya que es más recomendable.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

ediTC

01/11/2016
Buen articulo
Buenas noches, les saludo desde Quito-Ecuador los felicito por buen aporte para seguir avanzando y actualizando nuestros conocimientos...bueno solo queria preguntarles si me podrian ayudar con una guia o tutorial detallado de como virtualizar un entorno de desarrollo usando Vagrant, estuve siguiendo el tutorial que hicieron acerca de mejores practicas de entornos de desarrollo donde explicaban como hacerlo perp al momento que lo hago en mi mac siempre me ocurren algun tipo de error.
No se si me pueden guiar para poder lograr instanciar este entorno que me parece muy interesante aprender.
De antemano les agradezco su atencion y ayuda.

midesweb

02/11/2016
vagrant y posibles errores
El tema de la virtualización te puede traer distintos errores. yo con mac la verdad es que nunca he tenido un error recurrente. fíjate que la instalación de virtual box sea compatible con vagrant. y luego es segur los pasos que tenemos en los artículos:

http://www.desarrolloweb.com/articulos/trabajar-con-vagrant.html
http://www.desarrolloweb.com/en-directo/entorno-desarrollo-vagrant-programadorio-8841.html