PHP Fatal error: Uncaught Error: Call to undefined function date_default_timezone_set()

Hello,

version : dernière 4.1 forcée (je ne peux plus rien faire sur l’interface, donc difficile) branche stable-v4

suite à un force update du core, j’ai la meme erreur que dans ce post :

mais j’ai pas scan.ip.

dans http_error :

[Wed Jan 20 08:27:49.965939 2021] [php7:error] [pid 2567] [client 127.0.0.1:38084] PHP Fatal error:  Uncaught Error: Call to undefined function date_default_timezone_set() in /var/www/html/core/php/core.inc.php:19
Stack trace:
#0 /var/www/html/plugins/xiaomihome/core/php/jeeXiaomiHome.php(19): require_once()
#1 {main}
thrown in /var/www/html/core/php/core.inc.php on line 19
[Wed Jan 20 08:27:50.514494 2021] [php7:error] [pid 2461] [client 10.9.0.1:33732] PHP Fatal error:  Uncaught Error: Call to undefined function date_default_timezone_set() in /var/www/html/core/php/core.inc.php:19
Stack trace:
#0 /var/www/html/core/ajax/event.ajax.php(20): require_once()
#1 {main}
thrown in /var/www/html/core/php/core.inc.php on line 19, referer: https://nebz.dns6.jeedom.com/index.php?v=d&p=log
[Wed Jan 20 08:27:50.580591 2021] [php7:error] [pid 2568] [client 10.9.0.1:33738] PHP Fatal error:  Uncaught Error: Call to undefined function date_default_timezone_set() in /var/www/html/core/php/core.inc.php:19
Stack trace:
#0 /var/www/html/core/ajax/event.ajax.php(20): require_once()
#1 {main}
thrown in /var/www/html/core/php/core.inc.php on line 19, referer: https://nebz.dns6.jeedom.com/index.php?v=d&p=log

j’ai un peu creusé, c’est la première fonction php lancée sur une page… si je met function_exists(‹ date_default_timezone_set ›); juste avant dans core.inc.php, c’est function_exists qui n’est plus defined…

[Wed Jan 20 08:30:21.529221 2021] [php7:error] [pid 2461] [client 10.9.0.1:53762] PHP Fatal error:  Uncaught Error: Call to undefined function function_exists() in /var/www/html/core/php/core.inc.php:18
Stack trace:
#0 /var/www/html/core/ajax/event.ajax.php(20): require_once()
#1 {main}
thrown in /var/www/html/core/php/core.inc.php on line 18, referer: https://nebz.dns6.jeedom.com/index.php?v=d&p=log

par contre en ligne de commande pas de problème :

nebz@Jeedom:~$ php -r "date_default_timezone_set();"
PHP Warning:  date_default_timezone_set() expects exactly 1 parameter, 0 given in Command line code on line 1
nebz@Jeedom:~$ php -r "date_default_timezone_set('Europe/Brussels');"
nebz@Jeedom:~$

si je met un try autour de date_default_timezone_set, l’erreur est déplacée sur la prochaine fonction qui est dans vendor/autoload.php…

en soit, pas cata, je vais remettre une sauvegarde de ma VM mais avant si on peut trouver un bug ?

on dirait que le php d’apache est corrompu… (j’ai essayé phpversion() pour voir, mais forcément undefined)

@naboleo de ton coté tu avais restauré une sauvegarde aussi ?

Hello !

Moi ? j’ai plus de 4.1 en fonctionnement depuis un moment… Tu as besoin que je fasse un test ?

non c’est en référence au post que je met en début de mon post, tu avais eu le problème

OK, je reprends l’historique et te fais un retour (j’ia une petite mémoire moi :wink: ). J’ai pas noté de souci ce matin dans les logs avec la 4.2 cependant

non c’est sur 4.1, j’ai forcé l’update du core et j’ai eu ce problème. (j’ai une sauvegarde cette nuit, donc pas bloquant) mais comme j’avais déjà eu ce bug à mon premier essai de migration 4.0 → 4.1, et que je vois que vous l’aviez eu aussi… autant voir ce que c’est :smiley:

Alors le café est encore en phase d’infusion mais tu es à jour aussi version php ?
C’est visible dans la page santé
PS pour la migration PHP, je passe par une reinstall de ma VM. Les plugins comme jMQTT s’en sortent pas quand il y a plusieurs versions (reliquats de versions)

je n’arrive pas à la page santé mais :

nebz@Jeedom:/var/www/html$ php -v
PHP 7.3.14-1~deb10u1 (cli) (built: Feb 16 2020 15:07:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.14-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

je n’ai rien migré du tout niveau php, c’est une buster native, j’ai juste forcé l’update core

je reboot on va voir

1 « J'aime »

après reboot, plus de messages d’erreur… étrange cette histoire… (un restart d’apache aurait peut-etre suffit)

Là je maitrise pas trop. @Loic aura peu être une idée.

c’est résolu, donc difficile de trouver la root cause maintenant, mais si ca peut aider à ce que ca ne se reproduise pas… pour moi apache ne chargait plus php correctement… mais pas eu le temps de tester un petit fichier php à coté…

quand je fesais F5, j’avais l’erreur sur /var/www/html/index.php et file_exists qui est la première fonction du fichier aussi… ce qui me faisait penser plus à un problème apache que jeedom…

je viens de re-forcer la mise à jour du core et pas de prob…

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.