Hace unos días mi instalación de Nextcloud comenzó a generar problemas en las tareas programadas mediante cron, y eso fue debido a que en una actualización se instaló la versión 8.2 de PHP, cuando el sistema estaba configurado para funcionar con PHP8.1. Es por ello que he tenido que indicarle al sistema operativo que, de momento, siga funcionando con la versión 8.1…
Pero… ¿Como se hace esto?
Todos sabemos que con el comando a2enmod podemos indicarle a Apache que versión de PHP debe de usar, y si deseas enredarlo un poco más, con fcgid puedes incluso indicarle una versión a cada VirtualHost. Sin embargo, para el caso que me ocupa, el problema no era que versión usaba Apache, sino la versión que usaba el sistema operativo. Es por ello que para forzar una determinada versión en todo el sistema operativo he usado el siguiente comando.
sudo update-alternatives --config php
De esta forma se nos indicarán todas las versiones de PHP que estén actualmente instaladas en nuestro equipo, y al pulsar en el número de versión deseada, podremos seleccionar qué versión utilizará el sistema operativo por defecto.
Otra opción, es indicar a una instrucción que use una determinada versión de la siguiente forma
php8.1 -f /var/www/nextcloud/cron.php
Pero realmente update-alternatives me parece una mejor opción.
Nota informativa: La información contenida en esta entrada, así como el código incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en la presente entrada.