fusioninventory-for-glpi icon indicating copy to clipboard operation
fusioninventory-for-glpi copied to clipboard

Can't decode JSON content, starting with <br />

Open EC2311 opened this issue 2 years ago • 9 comments

Bonjour

2 serveurs avec GLPI 9.5.5 et plugin FI 3.0 Soit un ordi avec agent en 2.6 une meme collecte définie sur les 2 serveurs

dans la log de l'agent on voit des "Can't decode JSON content, starting with <br />" -> remotnée incomplete vers un serveur. remontée vers l'autre serveur : pas de souci, pas d'erreur.

J'ai regardé la liste des plugin des 2 serveurs : ils sont tous compatibles 9.5.5.

Quel pourrait être la raison de cette erreur ? configuration php/apache/ sur l'un des 2 serveurs ? Merci

EC2311 avatar Nov 19 '21 09:11 EC2311

C'est que tu as un plugin mal codé... enlève les dossiers des plugins puis remet les un à un pour trouver celui qui pose problème.

ddurieux avatar Nov 19 '21 09:11 ddurieux

qudn tu dis supprimer, c'est vraiment supprimer le repertoire (sans nettoyer coté glpi le plugin) ? au vu de la chose : il suffit dans mon cas de supprimer UNIQUEMENT les plugin en différentiel : cela va limiter la chose.

Y a t-il un moyen de lancer la collecte à partir de l'agent ? ou cela se fait-il uniquement à partir du serveur GLPI ?

EC2311 avatar Nov 19 '21 12:11 EC2311

Si tu as un env de recette, ça serait plus simple. tu peux désactiver si tu veux, mais il faut absolument enlever après le dossier du plugin dans glpi/plugins/

ddurieux avatar Nov 19 '21 12:11 ddurieux

je le fais sur env recette, pas de souci ;) mais c'est histoire de ne pas 'perdre' des données ;)

j'ai corrigé aussi des erreurs de class non presentes dans le plugin mreporting... J'ai du mal à voir le lien avec l'erreur de 'can't decode JSON...'

Je te tiens au jus

EC2311 avatar Nov 19 '21 12:11 EC2311

Bonjour

je pense avoir trouvé le souci : PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: D:/wamp/bin/php/php7.3.32/ext/curl (Le module sp�cifi� est introuvable.)

J'ai fait les modifs pour vis à vis du curl : je vais voir si 'jai encore des soucis

EC2311 avatar Nov 22 '21 08:11 EC2311

Re

j'ai retiré tous les plugin (excepté FI) le curl est bien activé et présent

'jai toujours l'erreur image

EC2311 avatar Nov 22 '21 14:11 EC2311

Bonjour

Résolu Pouvez vous confirmer le fonctionnement du script collect_wmi_content.class.php , à savoir notamment sur les zones que la table wmi_content contient ? Comment cela est réalisé en php ? A priori cela serait géré en dynamique ? à savoir une colonne dans la table correspondrait à une variable du script ?

Merci

EC2311 avatar Nov 25 '21 10:11 EC2311

ah :( Tu peux donner les informations WMI que tu essayes de récupérer?

ddurieux avatar Nov 25 '21 10:11 ddurieux

Les valeurs sont keyname, productname, productversion, installdate 1- j'avais ajouté la zone keyname dans la table wmi_contents afin de palier un "souci" deja signalé précédemment : en fait pour une classe wmi on peut avoir 'n' clés (keyname) et donc si on veut avoir l'ensemble des valeurs de la classe, FI/GLPI ne stocke que le dernier flux reçu... 2- puis j'ai développé mon script en me basant sur celui existant pour faire le nécessaire...ok 3- je me suis ravisé, considérant qu'il valait mieux laisser la table telle quelle, mais en créant une table annexe : ok, mais j'avais laissé les zones précédemment ajoutées : le script ne plantait pas. 4- puis j'ai retiré les zones précédemment ajoutées dont Keyname. et là le script se plante avec le 'cant' decode..;' alors que c'etait la variable $keyname non initialisée. 5- donc je pense que dans le script il y a un moment ou il 'liste' les zones de la table wmi pour en faire des variables internes au script : mais je ne sais pas où (je ne connais pas le php)

EC2311 avatar Nov 25 '21 12:11 EC2311