#Fixed 5: Alternar entre distintas versiones de PHP en Ubuntu.
Esta mañana haciendo unas pruebas con unos tests funcionales me he encontrado el siguiente error:
count(): Parameter must be an array or an object that implements Countable.
La aplicación está hecha con Laravel 5.1 y la versión de PHP que yo tenía instalada en ese momento era 7.2. Tras buscar ese error, llegué a una página de Github de Laravel, en la cual indicaban una incompatibilidad al menos entre la versión de Laravel que yo tenía y PHP 7.2.
Entonces, las opciones que tenía eran dos: O actualizaba el framework, lo cual tampoco era lo más rápido y necesario ahora mismo o cambiaba de versión de PHP para evitar dicha incompatibilidad, así que finalmente opté por cambiar mi versión de PHP a una compatible.
En mi equipo tengo instaladas hasta cuatro versiones de PHP, cada una con sus propias configuraciones, según las distintas actualizaciones que he ido haciendo.
4 drwxr-xr-x 3 root root 4096 nov 10 09:25 5.6
4 drwxr-xr-x 7 root root 4096 abr 24 2016 7.0
4 drwxr-xr-x 7 root root 4096 nov 10 09:25 7.1
4 drwxr-xr-x 7 root root 4096 ene 16 13:52 7.2
y la última versión que tenía corriendo era…
php -v
PHP 7.2.2-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 6 2018 16:11:23) ( NTS )
Entonces, como digo, el ‘truco’ estaba en poder cambiar a una versión compatible, que se puede hacer de forma sencilla con las siguientes instrucciones para, por ejemplo, cambiar desde la versión PHP 7.2 a la versión PHP 7.0.
$ sudo a2dismod php7.2
$ sudo a2enmod php7.0
$ sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php7.0
Y, como podemos ver, el cambio se ha realizado correctamente:
php -v
PHP 7.0.27-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jan 5 2018 14:12:46) ( NTS )
Si quisiéramos volver a la versión 7.2 nuevamente, tendríamos que poner estas mismas instrucciones…pero al contrario.
$ sudo a2dismod php7.0
$ sudo a2enmod php7.2
$ sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php7.2
Y nuevamente volveríamos tener activa la versión 7.2 de PHP.
Chimpún.