Fehlermeldung: Strict Standards: date_default_timezone_get(): We selected 'Europe/Berlin' for 'CEST/2.0/DST'

  • Hallo

    Seit kurzen erhalte ich folgend Fehlermeldung beim Aufruf des Backends (bereits ohne eingeloogt zu sein):

    "Strict Standards: date_default_timezone_get(): We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/22/d124931756/htdocs/clickandbuilds/Joomla/aktiv-in-schauernheim/libraries/src/Date/Date.php on line 117"


    Habe bereits einige (alte) Gegenmassnahmen versucht, jedoch ohne Erfolg.

    Hatte vergeblich gehofft ein neues Joomla update behebt den Fehler.


    Kennt jemand die Abhilfe?

    Danke und fG

    Peter

  • Habe ich diese Anwendung nicht als clickandbuild-Installation auf dem IONOS-Server eingerichtet, sondern ganz "normale" Installtation:

    Joomla 4 auf IONOS-Server geladen und dann mit DB verbunden.

    Funktioniert ohne Fehlermeldung.

    Nach der Umstellung auf PHP 8 tritt die Fehlermeldung auf.

  • Wenn ich deine Meldung richtig verstehe, wird versucht eine Zeitzone 'CEST/2.0/DST' zu verwenden. Die ist aber nicht "erlaubt", weshalb sie als 'Europe/Berlin' angenommen wird.


    Hintergrund ist, dass nach Strict Standards die Date-Methoden explizit eine korrekte Zeitzone haben müssen.


    Schau dir mal die Zeitzoneneinstellungen an, die du in der Konfiguration, ggf. auch im User-Account gesetzt hast und speicere sie ggf. mal neu.


    Probiere aus, ob der Fehler verschwindet, wenn du das "Fehler berichten" in der Joomla-Konfiguration änderst.


    EDIT: Schaue auch mal unter System > Systeminformationen > Tabulator "PHP-Informationen", was du mit Suche nach "timezone" findest. Bei mir gibt es 2 Einträge "Default timezone" und "date.timezone". Die Tabelle hat 2 Spalten "Local" und "Master". Letztere ist das, was Ionos serverseitig eingestellt hat.

  • Die Fehlermeldung tritt nicht mehr auf wenn ich in das Administrator-Verzeichnis eine php.ini mit dem Inhalt "date.timezone= "Europe/Berlin" ;" kopiere.

    Danach sieht meine PHP-Informationen so aus:


    merkwürdig ist jedoch das in allen anderen meiner Joomla-Projekte bei IONOS dieser Eintrag nicht vorhanden und die date.timezone ist dennoch korrekt.

  • Was mich persönlich noch interessieren würde, ob denn

    Probiere aus, ob der Fehler verschwindet, wenn du das "Fehler berichten" in der Joomla-Konfiguration änderst.

    was hilft?


    Und ob es evtl. unterschiedliche PHP-Versionen sind.


    anderen meiner Joomla-Projekte bei IONOS dieser Eintrag nicht vorhanden und die date.timezone ist dennoch korrekt.

    Da müsste man wohl ausklamüsern, wer/was in welchem Joomla diese Codestelle zuerst aufruft, vielleicht mit

    Code
    $callers=debug_backtrace();
     foreach($callers as $k=>$v){
      if(empty($v['args']))continue;
      // $args = $v['args'];
      //if(in_array('behavior.mootools', $args))
        {
       echo 'DEBUG: First date_default_timezone_get: '.print_r($v,true);exit;
      }
     }

    vor der Zeile.


    Bei mir kommt dann raus:

    [file] und [line] sind in meinem einfachen Fall der Aufrufer. Das Debug kann aber auch ewig lang werden.


    In meinem Fall würde das dann also nach https://github.com/joomla/joom…ries/src/Factory.php#L473 bzw. https://github.com/joomla/joom…ries/src/Factory.php#L507 führen. Und ich müsste weiter nach hinten debuggen.

  • Die Fehlermeldung tritt nicht auf wenn in der Server-Konfiguration Fehler berichten auf Keine bzw. Einfach gesetzt ist.

    Die Fehlermeldung erscheint sowohl unter PHP 8 wie auch bei PHP 7.4 .

    Ich kann damit leben, da auf der Frontend alles okay scheint.


    Vermutlich besteht das Problem seit einen zurückliegenden Joomla Update.


    Vielen dank an alle Antworter