Moss te permite indicar la versión de PHP que utilizará cada uno de tus sitios web. Además, con Moss puedes actualizar fácilmente la versión de PHP de tus sitios. Por tanto puedes tener múltiples aplicaciones usando versiones distintas de PHP, incluso en un mismo servidor.

Moss se asegura de que la versión apropiada de php y php-fpm se ejecuta para servir tu aplicación y ejecutar tus scripts de despliegue. Pero, ¿qué ocurre si tú necesitas ejecutar algún comando directamente desde el servidor? ¿Cómo puedes estar seguro de que la versión de PHP correspondiente a un sitio web es la que se usa? Fácil, sólo tienes que activar el entorno virtual de tu sitio.

Activa el entorno de tu sitio

Hemos seguido la solución adoptada en Python con virtualenv para aislar el entorno PHP de las aplicaciones entre sí. Mientras estés en el entorno virtual de un sitio, cualquier llamada a php o php-fpm usará la versión que indicaste en Moss para ese sitio web.

  1. Activa el entorno virtual: haz un source del script de activación que se encuentra en /home/dev/sites/mysite.com/bin/activate (el símbolo del sistema cambia).
  2. Ejecuta los comandos que necesites
  3. Desactiva el entorno virtual: ejecuta el comando deactivate (el símbolo del sistema se restaura).

El siguiente ejemplo con sitio PHP 5.6 te ayudará a entender cómo funciona:

dev@myserver$ cd sites/mysite.com

dev@myserver$ ls bin/
activate  composer  php  php-fpm

dev@myserver$ source bin/activate  # enter virtualenv

(mysite.com) dev@myserver$ php --version
PHP 5.6.31-6+ubuntu16.04.1+deb.sury.org+1 (cli)

(mysite.com) dev@myserver$ php-fpm --version
PHP 5.6.31-6+ubuntu16.04.1+deb.sury.org+1 (fpm-fcgi)

(mysite.com) dev@myserver$ deactivate  # exit virtualenv

dev@myserver$
Did this answer your question?