En este artículo vamos a aprender a realizar la configuración de varias versiones de PHP en Ubuntu. La primera pregunta que tal vez pase por nuestra cabeza sea: “¿Pero por qué hacer esto? ¿Por qué configurar más de una versión de PHP en el mismo servidor?” En el entorno de producción esto tal vez no tenga sentido realmente. Sin embargo, al trabajar en el entorno de desarrollo, puede que esta configuración se muestre necesaria.
Al probar PHP 8 podemos ver esta necesidad. Imagina que queremos realizar pruebas en las diferentes versiones Alpha y Beta, incluso para comparar las particularidades de cada una de ellas. Para no tener que eliminar una versión e instalar otra cada vez, podemos configurar varias versiones que pueden ejecutarse en paralelo. Eso es lo que haremos en este artículo.
Esta instalación se realizará sin usar apt-get u otro gestor de paquetes. Tampoco utilizaremos Apache. La instalación y configuración ocurrirá a partir de los archivos PHP que descarguemos de la fuente.
Instalando la versión Beta 1 de PHP 8
Ya hemos mostrado cómo realizar la instalación de la versión Alpha 3 de PHP 8. Puedes consultar este contenido en el artículo PHP 8 - Instalación y Configuración en Ubuntu 20.04 y Windows.
El objetivo de este artículo será instalar la versión Beta 1 de PHP 8, lanzada el pasado jueves, y permitir que la versión más antigua siga funcionando. La descarga de los archivos de PHP 8 y su extracción se realizará de la misma manera que enseñamos en el artículo anterior. Sin embargo, su configuración será un poco diferente.
Configurando la versión Beta 1
Primero, vamos a crear una carpeta personalizada que almacenará las configuraciones de PHP Beta 1. Usaremos el siguiente comando:
sudo mkdir /usr/php8-beta1
Creamos esta carpeta en el directorio usr, pero podríamos usar otro directorio si así lo deseáramos.
Ahora vamos a realizar su configuración. Vamos a agregar la opción --prefix en el comando de configuración, indicando otro directorio para ella, es decir, el mismo directorio que creamos hace poco. Usaremos el siguiente comando:
sudo ./configure --prefix=/usr/php8-beta1
Después de realizar la configuración, vamos a ejecutar la instalación en sí mediante el comando sudo make && sudo make install.
Con la instalación concluida, podemos ejecutar los comandos de PHP accediendo directamente al binario de este servicio. Por ejemplo:
/usr/php8-beta1/bin/php --version
Ese comando nos devolvería el siguiente resultado:
Nota que la versión fue devuelta, lo que muestra que PHP fue instalado con éxito.
Sin embargo, cuando trabajamos con la línea de comando, estamos acostumbrados a informar solo el nombre del programa, como php --version, por ejemplo. No deseamos informar la ruta absoluta hasta el binario cada vez. ¿Cómo podríamos resolver esta cuestión?
Una solución es agregar el binario de PHP de manera personalizada al directorio estándar que Ubuntu usa para ejecutar los binarios del Sistema Operativo. En Ubuntu 20.04, este directorio está en /usr/local/bin. Por lo tanto, necesitamos crear una referencia en este directorio, que apuntará al binario original. Un comando que podemos usar es ln, que crea enlaces en Linux. Podemos decir que estos enlaces funcionan como si fueran los “atajos para programas de Windows”, pero aplicados en el entorno Linux. Para crear el enlace, usaremos este comando:
sudo ln -sT /usr/php8-beta1/bin/php /usr/local/bin/php8-beta1
Ahora tenemos un nuevo binario, llamado php8-beta1. Como es personalizado, podríamos indicar cualquier otro nombre que deseáramos. De esta manera, al ejecutar php8-beta1 --version, veremos el mismo resultado del comando que realizamos hace poco, informando la ruta absoluta para el binario de PHP.
Si vamos al directorio /var/www/html, ejecutamos sudo php8-beta1 -S localhost:80 y accedemos a http://localhost/info.php en el navegador, veremos el siguiente resultado:
¡Increíble! PHP se está ejecutando correctamente en nuestro navegador. ?
Realizando la misma configuración con la versión Alpha 3
Si deseáramos hacer lo mismo con la versión Alpha 3, bastaría con repetir el proceso:
sudo mkdir /usr/php8-alpha3
sudo ./configure --prefix=/usr/php8-alpha3
sudo make && sudo make install
sudo ln -sT /usr/php8-alpha3/bin/php /usr/local/bin/php8-alpha3
Al ejecutar php8-alpha3 --version, veríamos el siguiente resultado:
Impresionante, ¿no es así?
Conclusión
En este artículo realizamos la configuración de dos versiones de PHP en el mismo servidor Ubuntu. Lo mejor es que hicimos esto sin usar apt-get u otra herramienta, como comentamos al principio. ¡Ahora estamos preparados para realizar la configuración de cuántas versiones deseemos!!! ?
Si te gustó esta publicación sobre PHP 8, no dejes de revisar los contenidos diarios que publicamos en nuestro canal en YouTube.
¡Hasta el próximo artículo! :)