Cambiar la versión de PHP del shell
Por defecto cada SO tiene una versión de PHP que es la encargada de ejecutar los scripts, mi problema venía porque arrojaba un error
PHP Warning: mysqli::mysqli(): Headers and client library minor version mismatch. Headers:50568 Library:100148 in ...
El problema es que tenía descoordinada la versión de PHP y MySQL, mientras MySQL cogía la correcta, PHP era muy antigua:
php -v
Para saber la ruta del comando que se ejecuta utilizaremos which, which busca la ruta del comando escrito y lista la ruta completa de la primera coincidencia que encuentre.
Si tienes un alias quítalo:
unalias php
which php
Después eliminariamos el fichero y crearíamos el nuevo enlace. Con el comando ln de Linux (ln es la abreviatura de “link”, enlace en inglés), se consigue crear enlaces a un archivo o carpeta. En este caso tienes que saber donde esta instalada la versión de PHP.
$ sudo rm /usr/bin/php
$ sudo ln -s /usr/bin/php8.0 /usr/bin/php
Solo por curiosidad, yo utilizo Plesk y las instalaciones de PHP se realizan en /opt/plesk/php.
$ sudo ln -s /opt/plesk/php/8.0/bin/php /usr/bin/php
Para finalizar recrea el alias:
alias php='/opt/plesk/php/8.2/bin/php'
Para que el alias sea permantente tienes que modificarlo en .bashrc o .bash_profile
vi ~/.bashrc
Para guardar los cambios y salir, escribe :wq
y presiona la tecla Enter
. Esto guarda el archivo y sale de vi
.
Si solo deseas guardar los cambios sin salir de vi
, puedes usar :w
en lugar de :wq
.
Si deseas salir sin guardar los cambios, puedes usar :q!
.
Utiliza source para cargar:
source ~/.bashrc
Para tener en cuenta todos los alias que tienes:
alias -p