Problème cron avec Php7.4.15 Jeedom 4.1.2

Bonjour,

J’ai l’impression que depuis la mise à jour php 7.4.15 j’ai ce mail qui m’est envoyé par root qui revient sans cesse.

Sujet :
Cron root@jeedom /usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null

Message :
PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /var/www/html/core/php/utils.inc.php on line 274

Avez-vous une idée de comment résoudre ce problème ?

Ma version de Jeedom est 4.1.20 sur Debian 10

J’ai du désactiver le système de cron pour éviter d’être spammé.

Merci

Pour information mon jeedom est complétement planté suite au passage en php7.4.15 :frowning:
Attention à ne pas faire la MAJ de votre côté :frowning:

Comment tu as fait la mise à jour ?
Je suis en 7.4.15/4.2 et ça marche…

apt update et apt upgrade tout simplement :frowning:

Tu as remis tous les modules php qui vont avec ?
Genre :

apt_install php74 libapache2-mod-php php74-json php74-mysql php74-curl php74-gd php74-imap php74-xml php74-opcache php74-soap php74-xmlrpc php74-common php74-dev php74-zip php74-ssh2 php74-mbstring php74-ldap

Je suis en train de voir pour tout remettre en autre car j’ai l’impression qu’il y a un sacré bazar :frowning:

J’ai tout remis comme il faut mais j’ai toujours ce message :

PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /var/www/html/core/php/utils.inc.php on line 274

Tu as un truc particulier dans ton install (répertoire etc)? C’est la dernière ligne qui coince

function cleanPath($path) {
	$out = array();
	foreach (explode('/', $path) as $i => $fold) {
		if ($fold == '' || $fold == '.') {
			continue;
		}
		
		if ($fold == '..' && $i > 0 && end($out) != '..') {
			array_pop($out);
		} else {
			$out[] = $fold;
		}
		
	}
	return ($path{0} == '/' ? '/' : '') . join('/', $out);
}

voir si c’est pas lié à un plugin également

Non je n’ai pas de repertoire spécifique.
Je sais que j’ai eu des MAJ de plugins ce matin.
J’ai tenté de désactiver certains plugins mais sans succès.
Les désactiver suffit ou pas normalement ?

Faut tester, en le désactivant tous. Si ça fonctionne, les réactiver 1 à 1

La version PHP 7.4 ne semble pas être la version normalement présente dans buster.

De toute façon je devais changer de machine… ^^
Je suis en train de monter ma nouvelle machine et restaurer un backup.
Tout ceci avec la version de php intégré à buster :slight_smile:

1 « J'aime »

Hello,

$path{0}

Essaie de remplacer par

$path[0]
1 « J'aime »

D’ailleurs @kiboost si tu passe par la, pour le passage en PHP 7.4 il faudra penser à ça :slightly_smiling_face:

https://wiki.php.net/rfc/deprecate_curly_braces_array_access

Je ferais des PR a l’occasion.

Merci :slight_smile:
J’ai remplacé ma machine finalement et tout marche nickel avec la version de php livré avec debian buster qui est en 7.3.