Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Incompatibilités PHP 7.2

Répondre
syn4ck
Timide
Messages : 17
Inscription : 24 nov. 2017, 13:38

Incompatibilités PHP 7.2

Message par syn4ck » 26 févr. 2018, 14:20

Bonjour,

Pour information, ayant une plateforme avec php en version 7.2, je me permet de remonter deux problèmes d'incompatibilité rencontrés.

Le premier concerne le mot reservé "object" (http://php.net/manual/fr/reserved.other ... -words.php) justement utilisé comme classe dans jeedom et les plugins.
Le deuxième concerne l'utilisation de la fonction count() sur un type non dénombrable (http://php.net/manual/fr/migration72.incompatible.php), dans la fonction getSubElement de la classe scenarioElement, et dans la fonction getExpression de la classe scenarioSubElement.

Avatar de l’utilisateur
loic
Administrateur
Messages : 14863
Inscription : 01 févr. 2014, 16:21

Re: Incompatibilités PHP 7.2

Message par loic » 26 févr. 2018, 15:16

Bonjour,
Nous sommes au courant le support de php 7.2 est prévu pour jeedom 3.3 ou 3.4
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

syn4ck
Timide
Messages : 17
Inscription : 24 nov. 2017, 13:38

Re: Incompatibilités PHP 7.2

Message par syn4ck » 27 févr. 2018, 11:26

Merci Loic pour ces précisions.

Au passage, je remonte quelques petites anomalies trouvés avec la fonction config::byKey :
  • core/php/jeeScenario.php ligne 45 : set_time_limit($scenario->getTimeout(config::byKey('maxExecTimeScript', 1) * 60));
  • core/php/jeePlugin.php ligne 39 : set_time_limit(config::byKey('maxExecTimeScript', 10));
Et pour le coté "esthétique" la fonction n'a pas la bonne casse (bykey au lieu de byKey) dans les fichiers suivants :
  • core/ajax/jeedom.ajax.php ligne 57 : $info_plugin['displayMobilePanel'] = config::bykey('displayMobilePanel', $plugin->getId(), 0);
  • core/class/plugin.class.php ligne 591 : $inprogress = cache::bykey('deamonStart' . $this->getId() . 'inprogress');
  • desktop/php/index.php 59 : if ($pluginList->getDisplay() != '' && config::bykey('displayDesktopPanel', $pluginList->getId(), 0) != 0) {

Avatar de l’utilisateur
loic
Administrateur
Messages : 14863
Inscription : 01 févr. 2014, 16:21

Re: Incompatibilités PHP 7.2

Message par loic » 27 févr. 2018, 11:36

Merci pour les retours ca sera bon en 3.2.2.
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Bdheb
Timide
Messages : 1
Inscription : 06 juin 2018, 16:58

Re: Incompatibilités PHP 7.2

Message par Bdheb » 06 juin 2018, 17:07

loic a écrit :
26 févr. 2018, 15:16
Bonjour,
Nous sommes au courant le support de php 7.2 est prévu pour jeedom 3.3 ou 3.4
Bonjour,

En attendant la version qui va bien, les 2 lignes suivantes dans le step_8 de l'install.sh, juste avant le chmod devrait suffire (lignes avec le find et le mv uniquement):

Code : Tout sélectionner

...
find ${WEBSERVER_HOME} -type f -exec sed -i 's/object:/objectJ:/g' {} \;
mv ${WEBSERVER_HOME}/core/class/object.class.php ${WEBSERVER_HOME}/core/class/objectJ.class.php
chmod 775 -R ${WEBSERVER_HOME}
...
Elle permet de changer le mot réservé object en objectJ qui lui n'est pas réservé.

Ne pas oublier de lancer cette commande après chaque mise à jour Jeedom et installation / mise à jour de plugin en remplaçant ${WEBSERVER_HOME} par le répertoire où se trouve votre serveur Web Jeedom (/var/www/html par défaut dans mon cas).

Cordialement,

Bertrand.

Edit: Corrections...

Naboleo
Actif
Messages : 734
Inscription : 20 janv. 2017, 09:57

Re: Incompatibilités PHP 7.2

Message par Naboleo » 20 juil. 2018, 19:57

loic a écrit :
27 févr. 2018, 11:36
Merci pour les retours ca sera bon en 3.2.2.
A priori ce petit truc est toujours là

Code : Tout sélectionner

PHP Warning:  set_time_limit() expects parameter 1 to be integer, string given in /var/www/html/core/php/jeeListener.php on line 38
=>

Code : Tout sélectionner

set_time_limit(config::byKey('maxExecTimeScript', 60));
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...

Networks514
Actif
Messages : 578
Inscription : 02 sept. 2016, 22:22

Re: Incompatibilités PHP 7.2

Message par Networks514 » 21 juil. 2018, 21:14

Naboleo a écrit :
20 juil. 2018, 19:57
loic a écrit :
27 févr. 2018, 11:36
Merci pour les retours ca sera bon en 3.2.2.
A priori ce petit truc est toujours là

Code : Tout sélectionner

PHP Warning:  set_time_limit() expects parameter 1 to be integer, string given in /var/www/html/core/php/jeeListener.php on line 38
=>

Code : Tout sélectionner

set_time_limit(config::byKey('maxExecTimeScript', 60));
Idem même message et plusieurs fois par minutes. Un workaround existant ?
Merci

EDIT : Ma version de PHP est 5.6, je ne suis pas sur le bon poste, mais si solution ici au cas où je suis le fil...
Networks514
Jeedom / Synology DS411j / Synology DS916+8G / Rpi3 / Zibase
Zwave / Enocean / Rflink / Xiaomi / Bluetooth

Avatar de l’utilisateur
loic
Administrateur
Messages : 14863
Inscription : 01 févr. 2014, 16:21

Re: Incompatibilités PHP 7.2

Message par loic » 23 juil. 2018, 11:46

Bonjour,
Ca sera corrigé dans la prochaine stable de jeedom
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Networks514
Actif
Messages : 578
Inscription : 02 sept. 2016, 22:22

Re: Incompatibilités PHP 7.2

Message par Networks514 » 25 août 2018, 00:00

Oups pas vu ton retour .. une petite période de déconnexion 😀
Merci à toi pour la correction à venir 😀
Networks514
Jeedom / Synology DS411j / Synology DS916+8G / Rpi3 / Zibase
Zwave / Enocean / Rflink / Xiaomi / Bluetooth

lamor
Timide
Messages : 36
Inscription : 21 janv. 2019, 09:26

Re: Incompatibilités PHP 7.2

Message par lamor » 13 juin 2019, 15:29

loic a écrit :
26 févr. 2018, 15:16
Bonjour,
Nous sommes au courant le support de php 7.2 est prévu pour jeedom 3.3 ou 3.4
Bonjour,

La version actuelle est la 3.3.25, est ce que php 7.2 est supporté ?

Si non, quelle version le supportera et quand ?

Merci

Avatar de l’utilisateur
loic
Administrateur
Messages : 14863
Inscription : 01 févr. 2014, 16:21

Re: Incompatibilités PHP 7.2

Message par loic » 13 juin 2019, 15:35

On a commencé mais encore rien testé pour l'instant j'ai juste suivi les recommandations mais je n'ai pas de quoi tester. Je ne peux donc pas dire ni la version qui le supportera ni quand.
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Répondre

Revenir vers « Suggestions pour le Core »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités