Nombreux messages PHP Warning: Undefined array key

Apres plusieurs test sur un jeedom de test vierge il en ressort que le plugin somfyunified n’est pas en cause car aucun message d’erreur PHP warning sur un jeedom vierge

par contre des que je fait une restauration de mon jeedom prod sur mon jeedom de test, les messages reviennent et persiste même après avoir désactivé tous les mes plugins sauf le somfyunified

voici la liste de tous mes plugins, peut être que je vais les supprimer les uns après les autres pour voir si c’est un autre plugin ou un équipement qui serait en cause

mon jeedom prod semble avoir un problème, mais comment le résoudre sans tout reprendre a zéro, chose que je ne ferais pas vue le temps que j’y ai passé.

je ne dois pas être le seul donc si quelqu’un du forum ou de l’équipe jeedom a une solution j’en serais ravi

en tout cas merci a @Eridani78 pour avoir pris beaucoup de son temps pour une erreur qui ne concerne pas son plugin

j’en profite pour changer le tag de cette discutions, si celui ci n’est pas approprie, je laisse un modérateur le changer

1 « J'aime »

J’ai eu ce genre de problème dans un de mes plugins récemment. Je faisais un truc du style

$machin[$truc] .= "Bidule";

C’est le « .= » lorsque la clé $truc n’existait pas dans $lachin qui provoquait le warning mais ça fonctionnait quand même. J’ai corrigé en testant ça avec un isset(…) si ça peut aider

Bonjour

Merci pour ton retour

Afin de comprendre et approfondir

C est de mon cote en etant utilisateur que je dois regarder cela ou c est cote des developpeurs dont l erreur php warning donne comme information

php warning blablabla plugin x

Merci

C’est pour le développeur mais si tu as quelques connaissances tu peux aller voir la ligne de code indiquée dans tes log et vérifier si c’est la cause. Tu peux aussi modifier si besoin localement en attendant une modif du développeur

Pas vraiment de connaissance mais je vais faire des test sur mon jeedom de test.

Merci

Il faut donc que tu ailles voir les lignes 14 et ou 36 du fichier plugins/SomfyUnified/core/class/SomfyUnified.class.php

Si tu veux tu peux les envoyer ici

Ca commence à partir en sucette cette histoire (pour rester poli) …

Je vous demande de bien vouloir retirer IMMEDIATEMENT le code du plugin posté ici…
Ou alors un modérateur …

Lors de manips effectuées en MP, il a été clairement établi que les observations ne pouvaient pas être dues au code du plugin SomfyUnified mais venait très certainement d’un backup corrompu ou plus adapté à la nouvelle version de Jeedom.

Donc je vous remercie d’arrêter de vouloir chercher dans le code du plugin SomfyUnified qui n’est que le REVELATEUR d’un dysfonctionnement de votre configuration.

MERCI

oui je sais c’est ce que j’ai dit plus haut,

j’ai bien compris que le plugin ne serait pas en cause mais peu etre que pour trouver la solution, les aidants ont besoin d’information du code qui remonte l’erreur c’est pourquoi j’avais envoyé cette ligne

je ne pensais pas que c’était interdit d’envoyer ce genre d’information

Je le redemande … veuillez SVP effacer votre message contenant le code du plugin.

j’ai retire le code comme demandé

Merci

Bonne journée

1 « J'aime »

bonjour

j’essai de ne pas faire remonter les log warning, mais comme je n’y connais rien je demande a une IA, pour le moment elle ne donne plusieurs conseil

je test pour le moment la modification du php.ini avec cela mais cela ne change rien

error_reporting = E_ALL & ~E_WARNING

en tapant cela en ssh : php -i | grep « Loaded Configuration File »
cela me repond cela : Loaded Configuration File => /etc/php/8.2/cli/php.ini

j’ai donc modifie ce fichier mais les log remontent toujours
donc surement pas la bonne solution

bon et bien en modifiant ce fichier, plus de remonte de warning, même si c’est que un cache misère je suppose mais au moins pour le moment cela stop de me faire les remontes php warning

  • modification du fichier jeeCron.php
/var/www/html/core/php/jeeCron.php
  • rajouter les trois ligne juste apres <?php
<?php
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE);
ini_set('display_errors', 0);
ini_set('log_errors', 0);

je sais pas si cela va engendrer d’autres problèmes ou en cacher des futurs

merci pour vos conseilles

Bonjour,

Pour ne pas voir les PHP Warning, passer le niveau de log du plugin à Erreur ainsi que le niveau de log du core devrait suffire sans modifier les fichiers du core.

Au dev du plugin de corriger:

2 « J'aime »

merci pour ton aide @jpty

j’ai retiré les lignes dans jeeCron.php

passé les log des tous mes plugins en erreur

j’ai de retour les messages php warning qui remonte dans cron execution

ou je trouve le niveau de log du core ??

Il ne fallait le faire que sur le plugin qui générait les PHP Warning.

Le loglevel du core est juste au dessus:
image

nickel, c’est très efficace oui

merci

je vais remettre au fur et a mesure les logs de mes plugins a défaut pour voir combien me remonte ce php warning

merci a tout le monde

bon finalement j’ai comme tu me le conseille passé le niveau de log par défaut a Debug

et tous les autres plugin, il sont de nouveau en défaut et j’ai plus de php warning de visible qui remonte

sans froisse aucun développeur ou plugin ou utilisateurs comme moi il semblerait que c’est tout de même lie a une incompatibilité avec la version php8.2 qui désormait annonce les warnings alors que php 7.x les toléraient ou les mettaient en silence

les causes possible peuvent etre nombreuses :

  • un widget renvoyant une valeur inattendue,
  • un champ de configuration mal formé,
  • un équipement non standard dans un dashboard.
  • variables non définies,
  • appels à des fonctions dépréciées ou non compatibles avec PHP 8.2,
  • erreurs de typage.

:point_right: En pratique la majorité des warnings sous PHP 8.2 sont dus à des données ou du code de plugin/widgets qui ne correspondent pas aux attentes du core ou aux règles strictes de PHP 8.2, pas forcément à une grosse erreur bloquante dans Jeedom lui‑même ni dans le plugin

merci a tout le monde pour les éclaircissement je vais clôturer le sujet et je le redis, je ne cherchais pas dire que tel ou tel plugin était obligatoirement la source du problème

Désolé si j’ai provoqué ça, je parlais d’envoyer uniquement les lignes incriminées pas l’intégralité du fichier, on s’est mal compris.

Désolé mais le message d’erreur indique clairement qu’il y a un problème dans le code, certes pour l’instant ça ne pose pas de souci mais à une prochaine version php ils vont durcir ça et ça ne passera plus.

2 « J'aime »