Erreur SQLSTATE[HY093] et Update impossible depuis MAJ en 4.4.5

Bonjour,
C’est mon premier post sur le forum, et je tiens a remercier tous les personnes qui sont ici pour leurs travail.
Cela fait plus de 3 ans que j’utilise Jeedom et j’ai actuellement 3 maisons qui sont intégralement géré chacune par son jeedom et qui sont interconnecté entre eux.
Maison 1 => serveur domotique principal sur un HyperV, qui fonctionne aux petits oignons
Jeedom 4.4.5
PHP 7.4.33
debian 11.9
Maison 2 => sur une Freebox Delta => en attente de migration vers la version 4.4.5
Jeedom 4.3.23
PHP 7.3.23
Debian 10.13
Maison 3 => sur une Freebox Delta => gros pb, j’explique après
Jeedom 4.4.5
PHP 8.2.18
Debian 11.9

Voila j’ai souhaité upgrader mon Jeedom de la maison 3 vers la version 4.4.5
Backup
Installation d’une Debian 11.9 sur la Freebox Delta
installation php 8.2.18 (c’est la que j’ai fait ma première erreur ! )
Restauration

Détection d’une erreur récurrente 1 fois par jour et toujours à 3h03 sans conséquence sur le fonctionnement :
[2024-05-14 03:03:04] ERROR : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Apres plusieurs jours/semaines d’utilisation sans aucun problème,
vendredi dernier en voulant faire l’update du pluging Weather (version 2024-05-10 09:45:52) mon Jeedom explose complétement !!!
les services ne démarrent plus, gros problème de permissions sur les fichiers etc…

Je réinstalle une debian propre a l’identique et restaure une sauvegarde
L’erreur SQLState est de retour, le jeedom est complément fonctionnel.
Mais dès que j’essaye d’installer un nouveau plugin ou que je tente une mise a jour, le jeedom explose de nouveau.
Apres de nombreuses tentatives (Merci mon HyperV) et même en reprenant une ancienne sauvegarde, j’ai les même problèmes.
il y a surement un problème dans l’ensemble de mes sauvegardes, mais je ne sais pas ou.

Si l’un de vous peux m’aider a solutionner mon problème, j’avoue que j’ai atteins mes limites, je vous remercie d’avance.

Je suis disponible pour faire tous les tests que vous me demanderez.

Réinstallez un Debian 11 avec php7 et restaurez votre save dessus

C’est la.premiere chose à faire avant de chercher d’autres pbs.

Norbert

j’aimerais bien, mais c’est impossible, lors de la restauration, il demande a avoir un PHP 8 minimum.

La restauration de quoi ?
Si vous installez une debian 11 bulleyes, vous devez être par défaut en php7.4
Jeedom fonctionne en php8 et bookworm, mais pas (tous) les plugins pour l’instant

c’est la restauration de la ma sauvegarde de Jeedom qui demande le php 8

j’ai essayer de mettre ma sauvegarde sur une Debian 11.9 avec un PHP 7, mais impossible, la restauration de jeedom commence puis j’ai un message comme quoi je dois avoir un PHP 8 minimun.

Collez les logs de la restauration

Je lance la restauration et j’ai cela :
"
[START RESTORE]
Begin Jeedom restore 2024-05-14 23:29:37
Send begin restore event…OK
Checking rights…OK
Restore from file : /var/www/html/core/class/…/…/backup/backup-Manon-4.4.5-2024-05-11-15h03.tar.gz
Backup database access configuration…OK
Disable all task OK
Disable all scenario OK
Unpacking backup…
"

Puis l’interface graphique plante et j’ai juste cela :

"
Composer detected issues in your platform: Your Composer dependencies require a PHP version « >= 8.2.0 ».
"

et plus d’acces …

Essayez de faire la restauration via le mode rescue en rajoutant &rescue=1 à votre adresse web

Voila, je viens de refaire le test avec une installation propre et avec &rescue=1



Bonjour,

Oui je vois le soucis avec composer. Je pense que ca va être très compliqué si pas impossible de downgrade les versions surtout par forum interposé

Faudrait restaurer un backup qui date d’avant l’upgrade en php8. En 4.3?

j’ai gardé le backup 4.3.
je vais perdre beaucoup de travail effectué depuis mon passage en 4.4.5.
je test des que possible.
Merci

Tu peux aussi peut être décompresser ta save, supprimer le ou les derniers plugins installés, rezipprr et restaurer, mais sans assurance que ça fonctionne. Il va être en tout cas difficile de t’aider à distance

Norbert

Apres de nouveaux tests :

Le retour sur un PHP 7.4 me semble impossible, ou alors il y a une astuce que je ne connais pas.

Si je restaure ma sauvegarde sur une debian propose avec PHP8, puis que je fais une nouvelle sauvegarde de cette restauration que je restaure sur une autre debian (toujours avec php8) je retrouve la possibilité de mettre a jour et d’installer des plugins.
en revanche j’ai toujours l’erreur SQLSTATE[HY093]:

lorsque je fais une mise a jour, j’ai ce message avant que le jeedom crash :

Bonjour,

Je constate aussi cette erreur. Pour l’instant, rien de bloquant.
J’aurais aimé avoir un log un peu plus détaillé pour chercher à solutionner le problème, je ne sais pas comment faire.
Visiblement, cette erreur intervient lors de l’exécution du cron daily. Aucune idée de ce qui est exécuté par jeedom à ce moment et qui cause l’erreur.

Bonjour,
même erreur pour moi aussi depuis ma restauration que j’ai faite après un crache sur une tentative de mise à jour

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Bonjour,
Essaye de supprimer les 2 fichiers composer.json et composer.lock qui sont à la racine du backup, dans le zip. Tu dézip, tu supprime ces 2 fichiers, tu rezip et tu tente la restauration.

Si jamais ça ne marche pas, je peux refaire des fichiers composer compatible php7.3 …

il faudrait trouver quel plugin vous avez en commun avec @steve.leclercq et @Jean-Baptiste , et qui provoque cette erreur ? un plugin qui lance un cron à 3h030 la nuit ?

C’est le plugins Weather (version 2024-05-10 09:45:52) qui m’a fait tout planté la première fois !

Voici la liste de mes plugins :

Bonjour,

J’ai désactivé le plugin weather, j’ai constaté cette nuit toujours le même problème.
J’ai désactivé en plus agenda et mail, je verrai bien cette nuit.
A suivre…