Erreur sur la fonction cron du plugin : Using $this when not in object context

Tags: #<Tag:0x00007f38534339c8> #<Tag:0x00007f38534336d0>

@lunarok,

Je viens d’activer mon KLF200 et d’acquérir ton plugin.
L’installation s’est bien passée, le scan a bien tout remonté.
J’arrive à piloter tous les éléments via Jeedom => Top !

Il n’y a qu’un truc qui cloche. Ce message d’erreur apparu 42 fois alors que j’ai mis en service tard ce soir :

Erreur sur la fonction cron du plugin : Using $this when not in object context

Peux-tu regarder stp ?

Quelques infos :

  • Jeedom v4.0.61
  • Santé OK
  • Connected to: KLF 200: Software version: 0.2.0.0.71.0, hardware version: 6, protocol version: 3.14

Dis-moi si tu as besoin de logs .

Merci.

Bonsoir,

Hier je suis passé à 2041 messages.
Si le développeur peut regarder, sinon je ferai un ticket.

Merci.

Bonjour,

Des logs sont toujours bienvenus voir point 11 Comment nous aider à vous aider - ou Comment poser une bonne question?

Voir également point 16 du sujet à propos du tag du développeur et l’introduction du sujet : ceci est un forum communautaire, si vous voulez un support direct du développeur vous pouvez toujours soumettre un ticket (selon plug-in payant/gratuit et votre pack)

1 J'aime

Bonjour Mips,

Des logs sont toujours bienvenus voir point 11 [Comment nous aider à vous aider - ou Comment poser une bonne question?]
(Comment nous aider à vous aider - ou Comment poser une bonne question?)

En effet. Ici j’attendais que @Lunarok se manifeste pour les lui envoyer.
(Vu l’urgence - nombre de messages d’erreurs - j’ai désactivé le cron. Du coup mes logs actuels sont « propres »).

Voir également point 16 du sujet à propos du tag du développeur et l’introduction du sujet : ceci est un forum communautaire, si vous voulez un support direct du développeur vous pouvez toujours soumettre un ticket (selon plug-in payant/gratuit et votre pack)

J’ai posté pensant que le développeur répondrait vu qu’il a déjà pas mal posté. Je viens d’ouvtir un ticket à l’instant, ce sera plus simple.

Merci pour tes recommandations.
Bonne soirée.

2 J'aimes

Je viens de réactiver le cron + mode debug pour avoir du contenu dans le log.
Le fichier log est disponible ici : http://dl.free.fr/ecbfYeUbw

Juste comme cela, vous avez qu’elle version de PHP ? Testez avec un environnement php 7.3 par exemple.

Bonsoir @Fabrice ,

Sachant que je suis sous Jeedom v4.x et Buster, l’ensemble est sous php 7.3.
Vous confirmez ?

Bonsoir.

C’est affiché dans la page santé de Jeedom.

J’ai vue sur un forum que cette erreur pouvait venir de PHP. Un personne est passée de 7.4 à 7.3 et le problème a disparue.

Remettons l’église au milieu du village : l’erreur dit que le mot réserve $this qui représente l’instance d’une class / d’un objet a été utilisé à un endroit où il n’existe pas.
Par exemple dans une fonction static.

Je ne sais pas si cela cause un problème réel ou pas dans de cas précis et là n’est pas la question.

Php 7.4 manifestement génère un warning alors qu’avant c’était une erreur silencieuse mais cela a toujours été une erreur d’utiliser $this en dehors du contexte d’un objet.

Et si la version 7.4 génère un warning c’est que dans une version futur cela sera carrément bloquant probablement, ce warning sert de phase de transition.
Ce n’est pas en downgradant une version qu’on solutionne un problème.

1 J'aime

PHP7.3 aussi génère des erreurs en log sur $this.
Je suis en php7.4 sous buster (rappelons que stretch n’est plus en support classique mais uniquement étendu, peut etre qu’un jour l’équipe jeedom sortira des images supportées)
Une piste serait de lire la doc déjà (et ensuite donner les détails sur son utilisation, bref suivre le lien déjà fourni par Mips et pas s’attendre à ce que le dev et uniquement le dev puisse répondre en lisant une boule de crystal)

Je viens de vérifier quand même, ma version de PHP est : 7.3.19-1~deb10u1.

J’ai bien lu la documentation du plugin. Tout est OK côté configuration, d’ailleurs je n’ai pas décelé d’anomalie de fonctionnement sur les commandes. Juste ce message d’erreur à répétition lorsque j’active le cron.

Conformément à ce qui est préconisé, j’ai activé le mode debug et repris des traces.
En PJ des logs :

http://dl.free.fr/getfile.pl?file=/bRDdmglG

PS : comme tout fonctionne côté commandes, je n’ai pas eu besoin d’utiliser la fonctionnalité de prise commandée pour forcer un redémarrage du KLF200.