Si ejecutas las aplicaciones en diferentes entornos para desarrollo y producción, podrías sufrir errores extraños dependiendo del sistema en el que te encuentres. Además, tener entornos totalmente diferentes también complica su mantenimiento, sobre todo cuando se trabaja en equipo.

Si estás desarrollando en Windows y desplegando en Linux (o cualquier otro sistema que no sea Windows) es posible que te convenga utilizar una máquina virtual. Puede que suene un poco complicado, pero con el uso de Vagrant puedes configurar una máquina virtual fácilmente.

Estas máquinas virtuales (en inglés, box) se pueden configur a mano, o automáticamente mediante lo que se conoce como aprovisionadores, tales como Puppet o Chef. Crear una máquina virtual base es muy útil para asegurarte que todas las máquinas virtuales están configuradas de la misma manera y permite crear una máquina virtual completamente nueva sin esfuerzo.

Vagrant crea carpetas compartidas para compartir el código entre el ordenador local y la máquina virtual, lo que significa que puedes crear y editar archivos en tu equipo y después ejecutar el código dentro de la máquina virtual.

1.5.1. Un poco de ayuda

Si necesitas ayuda para comenzar a utilizar Vagrant, estos dos servicios pueden resultarte útiles:

  • Rove: servicio que permite generar una configuración típica de Vagrant y en la que PHP es una de sus opciones. Utiliza Chef como servicio aprovisionador.
  • Puphpet: servicio que permite configurar visualmente máquinas virtuales para desarrollo PHP. Lo mejor es que está totalmente enfocado a PHP. Además de las máquinas virtuales locales, se puede utilizar para desarrollos en la nube. Utiliza Puppet como servicio aprovisionador.