#Fixed 5: Alternar entre distintas versiones de PHP en Ubuntu.

Manu Pijierro
2 min readFeb 17, 2018

--

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.

--

--

No responses yet