Apolinaire Posté(e) le 9 janvier 2023 Posté(e) le 9 janvier 2023 Bonjour, J'ai installé matomo sur le serveur web de mon NAS. Matomo fonctionne très bien mais me demande de créer un crontab. Je m'y attaque et lance manuellement le crontab pour vérifier son bon fonctionnement. Et c'est là que j'ai ce message : "The MySQL driver is not currently installed". Je ne comprends pas. J'ai installé Apache 2.4, PHP 7.4 et PHP 8.0, phpMyAdmin et MariaDB 10 pour que matomo fonctionne. Que veut-il de plus ? Merci pour votre aide. 0 Citer
PiwiLAbruti Posté(e) le 9 janvier 2023 Posté(e) le 9 janvier 2023 MariaDB 10 sur un NAS Synology n'utilise pas le port standard (tcp/3306) auparavant utilisé par MariaDB 5, mais le port tcp/3307. Vérifie que le port configuré dans les paramètres MySQL de Matomo est bien le 3307. 0 Citer
Apolinaire Posté(e) le 9 janvier 2023 Auteur Posté(e) le 9 janvier 2023 Merci @PiwiLAbruti. Il semble que c'est le cas : 0 Citer
PiwiLAbruti Posté(e) le 9 janvier 2023 Posté(e) le 9 janvier 2023 il y a 42 minutes, PiwiLAbruti a dit : Vérifie que le port configuré dans les paramètres MySQL de Matomo est bien le 3307. Mais c'est pas grave. En fait, ça doit plutôt venir de l'extension PHP pdo_mysql qui n'est pas activée dans Web Station > Paramètres du langage de script > Sélectionner le profil PHP > Bouton [Modifier] > Onglet Extensions. 0 Citer
Apolinaire Posté(e) le 9 janvier 2023 Auteur Posté(e) le 9 janvier 2023 il y a 48 minutes, PiwiLAbruti a dit : Vérifie que le port configuré dans les paramètres MySQL de Matomo est bien le 3307. Désolé, je ne sais pas où trouver les paramètres MySQL de Matomo... En ce qui concerne les profils PHP je suis allé voir leurs extensions. Oui, j'ai 2 profils PHP, un pour phpMyAdmin qui a longtemps embêté le monde car il ne fonctionnait que sous PHP 5.6 et qui aujourd'hui il ne fonctionne que sous PHP 7.4 et un autre pour Matomo qui m'a signalé que PHP 7.4 arrivait en fin de vie et qu'il fallait installer PHP 8.0. Les extensions des 2 profils sont toutes activées ! Au passage j'ai remarqué qu'il y avait 4 pdo_quelque-chose qui sont 4 drivers. En rapport avec mon souci du jour, j'ai lu sur cette page quelque chose qui m'a interpellé : "The crontab requires php-cli or php-cgi installed." Et dans le message d'erreur de mon premier message on voit qu'il fait état de "CLI mode: 1". Pour moi c'est de l'hébreu... Mais le début d'une solution ne se trouverait-il pas là ? 0 Citer
Apolinaire Posté(e) le 10 janvier 2023 Auteur Posté(e) le 10 janvier 2023 Bonjour, Bon, j'abandonne. Après des heures de recherches, voilà où j'arrive : Et aussi : Un crontab est un script, non ? J'espère ne pas dire de bêtise en prétendant qu'un script s'apparente à des lignes de commandes (CLI). Et je viens de découvrir que ce genre de process n'est pas supporté par les NAS Synology. Ce n'est pas ce qu'il y a de plus grave. Mais ce qui est énervant c'est que ce matomo qui sait tout de ma configuration, au point de me signaler un tout petit fichier perdu au fond de l'arborescence qu'il faut mettre en Lecture-Ecriture, sait donc tout aussi bien qu'il se trouve sur un Synology. Mais il persiste à me dire en permanence via un Warning qu'il faut que je crée un crontab alors que c'est impossible... Il va falloir que je fasse avec. Je n'ai trouvé aucun bypass. 0 Citer
PiwiLAbruti Posté(e) le 10 janvier 2023 Posté(e) le 10 janvier 2023 C'est probablement dû au fait que Matomo exécute un script PHP avec l'exécutable php par défaut situé dans /bin/php : Le problème est que ce script a apparemment besoin de MySQL via un driver PDO, et là ça coince : $ which php /bin/php $ php -m |grep -i 'pdo' PDO pdo_sqlite Solution possible : remplacer php par une autre version dans le script de Matomo. On va d'abord lister les exécutables PHP disponibles : $ ls -al /usr/local/bin/php* |grep -P 'php\d+ ' lrwxrwxrwx 1 root root 47 Jan 9 10:12 /usr/local/bin/php74 -> /var/packages/PHP7.4/target/usr/local/bin/php74 lrwxrwxrwx 1 root root 47 Jan 9 10:12 /usr/local/bin/php80 -> /var/packages/PHP8.0/target/usr/local/bin/php80 Dans l'exemple ci-dessus, PHP 7.4 et 8.0 sont disponibles. On vérifie comme précédemment la présence de l'extension pdo_mysql : $ php80 -m |grep -i 'pdo' PDO pdo_dblib pdo_mysql pdo_pgsql pdo_sqlite Si le script de Matomo utilise un shebang (première ligne du script), le plus simple est de le remplacer par celui-ci : #!/bin/env php80 Sinon il faut pouvoir remplacer php par php80 dans la commande exécutée par la tâche planifiée. 0 Citer
Apolinaire Posté(e) le 12 janvier 2023 Auteur Posté(e) le 12 janvier 2023 Bonjour, Merci @PiwiLAbrutipour cette tentative. Et surtout merci de m'avoir mis un lien vers le "shebang" ! J'savais pas... Mais rien à faire, ça ne fonctionne pas. Comme je l'ai dit précédemment, je laisse tomber et je te propose d'en faire autant. Bonne soirée. 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.