Depuis la mise à jour de Nextcloud en version 18 sur Yunohost, je rencontre une erreur assez pénible liée à la version de PHP exécutée par défaut.
On va s’attacher à décrire puis à corriger ce problème.
Description du problème
Nextcloud 18 nécessite un environnement PHP en version 7.2 minimum. Sur Yunohost les version 5, 7.0 et 7.3 sont disponibles. Pour une raison que j’ignore Yunohost force la version par défaut à 7.0, ce qui engendre un “léger” contretemps. Lorsque le cron de Nextcloud est lancé toutes les 15 minutes avec l’exécutable php
, l’exécution échoue :
Cron nextcloud@cloud php -f /var/www/nextcloud/cron.php 2>&1
This version of Nextcloud requires at least PHP 7.2
You are currently running 7.0.33-29+0~20200514.36+debian9~1.gbp126f6f. Please update your PHP version.
Je reçois donc cet e-mail toutes les 15 minutes, soit 96 fois par jour… C’est plutôt pénible.
Comment corriger ce problème
Il existe deux moyens de corriger ce problème.
Solution 1 : Rétablir la version par défaut de PHP du système
Il suffit de lancer (en root ou sudo) : update-alternatives --config php
:
Il existe 3 choix pour l'alternative php (qui fournit /usr/bin/php).
Sélection Chemin Priorité État
------------------------------------------------------------
0 /usr/bin/php7.3 73 mode automatique
1 /usr/bin/php5 50 mode manuel
* 2 /usr/bin/php7.0 70 mode manuel
3 /usr/bin/php7.3 73 mode manuel
Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :0
update-alternatives: utilisation de « /usr/bin/php7.3 » pour fournir « /usr/bin/php » (php) en mode automatique
C’est une solution que j’avais déjà mise en place. Elle est simple et rapide, mais elle n’a pas survécu à une mise à jour de Yunohost.
Solution 2 : Spécifier manuellement la version de PHP de cron
On peut tout simplement éditer le fichier cron (crontab -u nextcloud -e
) et modifier la dernière ligne :
*/15 * * * * php -f /var/www/nextcloud/cron.php 2>&1
qui doit devenir :
*/15 * * * * /usr/bin/php7.3 -f /var/www/nextcloud/cron.php 2>&1
Il n’y a plus qu’à espérer que cette modification soit plus pérène, avant que le bug ne soit définitivement corrigé dans Yunohost.