+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Timezone-Fehler trotz 1.5.15

  1. #1
    Ria
    Ria ist offline
    Kommt häufiger vorbei
    Registriert seit
    12.09.2008
    Beiträge
    332
    Bedankte sich
    13
    Erhielt 17 Danksagungen
    in 15 Beiträgen

    Standard Timezone-Fehler trotz 1.5.15

    Hallo Ubuntuianer,

    trotz joomla 1.5.15 scheint das Problem mit xampp 1.7.2 weiterhin zu bestehen. Erst habe ich den "Strict Standards." Fehler korrigiert.

    Jetzt habe ich den, backend / Startseite:

    Warning: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /opt/lampp/htdocs/libraries/joomla/utilities/date.php on line 117

    Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /opt/lampp/htdocs/libraries/joomla/utilities/date.php on line 250

    Das wäre zur Line 117:

    Code:
    if (preg_match('~(\\d{4})-(\\d{2})-(\\d{2})[T\s](\\d{2}):(\\d{2}):(\\d{2})(.*)~', $date, $matches))
    		{
    			$this->_date = mktime(
    				$matches[4], $matches[5], $matches[6],
    				$matches[2], $matches[3], $matches[1]
    			);
    Und das zur Line 250:

    Code:
    if(strpos($format, '%B') !== false)
    			$format = str_replace('%B', $this->_monthToString(date('n', $time)), $format);
    		$date = strftime($format, $time);
    		return $date;
    	}
    Leider reicht mein PHP nicht aus um hier den Fehler zu erkennen, wer weiß bescheid und kann helfen?

    Gruss Ria

  2. #2
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Such die aktive PHP.INI, aufmachen zu berbeiten, nach date.timezone suchen und dort eintragen:
    date.timezone = "Europe/Berlin"
    Vorausgesetzt du bist in der Deutschen Zeitzone :-)
    Wen ein Semikolon davor steht: wegmachen. PHP.INI speichern, Xamp neustarten und hoffen, dass es hülft.
    Meiner Kombi (Apache2/PHP5) half es, ist aber auch kein XAMPP sondern die "nativen" Versionen.

    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  3. Erhielt Danksagungen von:


  4. #3
    Ria
    Ria ist offline
    Kommt häufiger vorbei
    Registriert seit
    12.09.2008
    Beiträge
    332
    Bedankte sich
    13
    Erhielt 17 Danksagungen
    in 15 Beiträgen

    Standard

    Hallo Cir Tab,

    nöö, steht so drin:

    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Europe/Berlin

    (ohne Semikolon)

    na ja, die Fehlermeldung zeigt den Fehler ja auch an anderer Stelle date.php on line 117 und
    /date.php on line 250, wie oben beschrieben. Sollte dann nicht der Fehler auch an den Stellen behandelt werden?

    Ansonsten vermute ich noch 2 Möglichkeiten, mein xampp läuft unter Linux (aber schon der richtige) oder der Bug in joomla ist nur zum Teil gefixt! Also die PHP Version 5.3.0 vom xampp 1.7.2 ist weiterhin "schuld". Was aber eigentlich der Fehler von joomla ist.

    Gruss Ria

  5. #4
    Ria
    Ria ist offline
    Kommt häufiger vorbei
    Registriert seit
    12.09.2008
    Beiträge
    332
    Bedankte sich
    13
    Erhielt 17 Danksagungen
    in 15 Beiträgen

    Standard

    Hallo @ ALL,

    ich erwarte hier auf die Schnelle keinen php-Profi. Einfach nur eine Bestätigung würde mir schon mal weiterhelfen.

    Muss sonst noch Jemand die 1.7.1 xampp benutzen = 5.2.8 php bei joomla 1.5.15
    weil xampp 1.7.2 = 5.3.0 php immer noch Fehlermeldungen, siehe oben produziert.

    Gruss Ria

    PS. würde mich beruhigen, wenn ich nicht die doofe bin.

  6. #5
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Ria,
    die Fehlermeldung ist die Folge einer falschen bzw. "unzuverlässigen" System- bzw. PHP-Einstellung und wird in der genannten Code-Zeile ausgelöst, das heißt nicht, dass die Code-Zeile selbst einen Fehler enthält.
    Der Aufruf der Funktion mktime() erfolgt in eben diesen Programmzeilen und nur deshalb meckert PHP, da es "gezwungen" ist die Zeitzone des Betriebsystems zu verwenden und diese kann (so meint PHP) eben falsch sein.
    Steht der String "Europe/Berlin" bei dir auch in Anführungszeichen? Wenn nicht wurde er ignoriert.
    Hast du die richtige PHP.INI bearbeitet? Mitunter verwendet PHP auch die Datei "php-cgi-fcgi.ini" (CGI Modus) oder "php-apache2handler.ini" (Apache Modul)
    Der Name der aktiven Datei wird u.a. in der PHP Systeminfo im Backend (Hilfe-Menü) angezeigt.

    Vielleicht glaubst du ja dem PHP-Handbuch:
    date.timezone - Diese Zeitzone wird von allen Datums- und Zeitfunktionen als Vorgabewert genutzt wenn die Umgebungsvariable TZ nicht gesetzt ist. Die Vorrangreihenfolge ist auf der Handbuchseite zu date_default_timezone_get() beschrieben. Siehe auch Liste der unterstützten Zeitzonen (Europe).
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  7. #6
    Ria
    Ria ist offline
    Kommt häufiger vorbei
    Registriert seit
    12.09.2008
    Beiträge
    332
    Bedankte sich
    13
    Erhielt 17 Danksagungen
    in 15 Beiträgen

    Standard

    Hallöchen,

    Vielleicht glaubst du ja dem PHP-Handbuch:
    kaum zu fassen, aber ich glaube Dir sogar

    ich finde nur 2 ini's und nur diese Einträge, die eventuell mit "time" oder "date" in die Richtung gehen könnten:

    [Date]
    ; Defines the default timezone used by the date functions
    ;http://php.net/date.timezone
    date.timezone = "Europe/Berlin"

    ; http://php.net/date.default-latitude
    ;date.default_latitude = 31.7667

    ; http://php.net/date.default-longitude
    ;date.default_longitude = 35.2333

    ; http://php.net/date.sunrise-zenith
    ;date.sunrise_zenith = 90.583333

    ; http://php.net/date.sunset-zenith
    ;date.sunset_zenith = 90.583333
    ----------------------------------------------
    ----------------------------------------------
    ; Specify how datetime and datetim4 columns are returned
    ; On => Returns data converted to SQL server settings
    ; Off => Returns values as YYYY-MM-DD hh:mm:ss
    ;mssql.datetimeconvert = On
    ----------------------------------------------
    ; Default date format.
    ibase.dateformat = "%Y-%m-%d"
    ---------------------------------------------
    ; Default time format.
    ibase.timeformat = "%H:%M:%S"
    -----------------------------------------------
    ; Specify how datetime and datetim4 columns are returned
    ; On => Returns data converted to SQL server settings
    ; Off => Returns values as YYYY-MM-DD hh:mm:ss
    ;mssql.datetimeconvert = On
    -------------------------------------------------
    Und das date.timezone = "Europe/Berlin" ist ja wohl richtig so?

    Wat nu? Bin ich die Einzige mit dem Fehler?

    Ich bekomme es nicht gebacken. Meinst Du mit der php 5.2.8 also xampp 1.7.1 ist der Fehler weg?
    Es könnte sich ja ruhig mal einer mit nem xampp hier melden!

    Gruss Ria

  8. #7
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Xampp ist statistisch eher bei den Windows-Leuten im Einsatz, weil Linuxe sowieso ihren eigenen "LAMP" mitbringen und Macs ihren MAMP...
    WIe auch immer: du wirst das auch mit 5.2.8 oder 'nem anderen Xampp wegbekommen, weil das kein "Funktionsfehler" von PHP, dem Apache oder von Joomla! ist, sondern eine unglückliche Konfiguration deines Systems -- falsch wäre übertrieben, es sein denn die Uhrzeit auf dem Rechner ist auch nicht korrekt ;-)
    PHP ab Version 5.1 und höher generiert diese *Warnung* in voller Absicht und bei vollem Verstand wenn die Zeitzone nicht richtig konfiguriert wurde und PHP deshalb raten muss.
    Ursachen (PHP-Handbuch):
    Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()
    Du bekommst eine 'Warnung' also stimmt der Name der Zeitzone nicht bzw. er ist PHP unbekannt.
    PHP kennt "Europe/Berlin" (siehe Handbuch), dein Linux sagt aber es wäre eingestellt auf "CET/1.0/no DST" (laut Warnmeldung).
    Du kannst nun entweder die Zeitzonen-Einstellung von deinem Linux auch auf "Europe/Berlin" umstellen oder versuchst mal ob PHP vielleicht doch was mit "CET/1.0/no DST" anfangen kann, anstelle des "Europe/Berlin".
    Danach wie immer: Xampp neustarten.
    Die gelieferte Zeit ist in beiden Fällen die selbe, die Zeitzone "heisst" halt nur anders.

    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  9. #8
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Vielleicht hilft ja auch das hier
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  10. #9
    Ria
    Ria ist offline
    Kommt häufiger vorbei
    Registriert seit
    12.09.2008
    Beiträge
    332
    Bedankte sich
    13
    Erhielt 17 Danksagungen
    in 15 Beiträgen

    Standard

    Hallo Cir Tab,

    vielen Dank für Deine Geduld mit mir! Verstehe schon was Du mir vorgeben willst, finde aber wohl nicht die richtige Stelle, wo ich ändern müßte, bzw. es tut sich nichts, wenn ich ändere!

    "dein Linux sagt aber es wäre eingestellt auf "CET/1.0/no DST" (laut Warnmeldung). "
    1. Linux/Ubuntu lügt entweder, oder es liegt an php, weil bei der Installation von Ubuntu kannst Du im Prinzip nach den normalen Auswahlmöglichkeiten nur 'Europe/Berlin' wählen. Oder London oder sonstwas. "CET/1.0/no DST" steht bei der Installation gar nicht zur Auswahl (habe das natürlich nochmals überprüft).

    2. Meine Uhrzeit stimmt auch.

    --------------------------------------------------------------------

    3. Im backend von joomla (Hilfe Menü):

    date

    Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /opt/lampp/htdocs/jo515/administrator/components/com_admin/tmpl/sysinfo_phpinfo.php on line 31

    date/time support enabled
    "Olson" Timezone Database Version 2009.10
    Timezone Database internal
    Default timezone Europe/Berlin
    ------------------------------------------------------------------------

    Line 31:

    <?php
    ob_start();
    phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES);
    $phpinfo = ob_get_contents();
    ob_end_clean();
    ---------------------------------------------------------------------------
    phpinfo (das Original) spuckt leicht verändert aus, in der xampp/phpinfo.php on line 2, ist leer, steht nichts drin!

    date

    We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /opt/lampp/htdocs/xampp/phpinfo.php on line 2


    date.timezone no value no value
    -------------------------------------------------------------------------

    Jetzt bin ich genau so doof, wie vorher auch. Denn die Änderung in /opt/lampp/etc/php.ini bringt es auch nicht:

    [Date]
    ; Defines the default timezone used by the date functions
    ;http://php.net/date.timezone
    date.timezone = 'CET/1.0/no DST'

    Bekomme auch nach Rechnerneustart, neustart xampp im joomla backend: "We selected 'Europe/Berlin' for 'CET/1.0/no DST'...usw" obwohl ich ja siehe oben geändert habe.

    Gruss Ria

  11. #10
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Ria,
    zum einen gefällt mit mein Nickname besser, wenn er zusammengeschrieben wird und mit eine 'p' endet :-) zum andern könnt ich nun sagen: Pech gehabt, und von dannen ziehen oder dir "empfehlen" einfach die Stufe der Fehlerberichterstattung auf 0 zu setzen oder noch holzhammermäßiger: installier eine 6 Jahre alte 5.0.x Version von PHP...
    Dann wäre zwar sehr wahrscheinlich Ruhe im Karton, das Problem aber deshalb noch lange nicht gelöst und dein Fehler-Log würde irgendwann überlaufen... und: eine Lösung interessiert mich jetzt schon aus rein akademischen Gründen! "Die Nuss muss doch zu knacken sein!"

    Ich geh mal davon aus, dass ein Downgrade auf PHP 5.0 nicht in Frage kommt zumal es sinniger ist, lokale die selber Version zu fahren, wie später online beim Provider um ähnlich netten Überraschungen vorzubeugen.
    Bleibt also, dass PHP seit v5.1 diese Meldung im Zustand der totalen Zeitzonenverwirrung für jedwelche Datumsfunktion produziert, ungeachtet des Betriebssystems, der Apache-Version oder der PHP-Anwendung.
    Aus eigener Erfahrung und anhand meiner diebzgl. Googelei ist die Lösung auch! in der Einstellung von "date.timezone" zu finden. Die Frage lautet also eigentlich: Warum nicht bei deinem System?
    Mit "auch" meine ich, dass es eine korrekte Lösung gibt (geben muss) und etwa drei oder elf Workarounds.

    Du hast also Ubuntu. Fein. Hab ich auch schonmal gesehen ;-)
    Ich frag einfach nochmal dumm um die Sache einzugrenzen ...
    1. rennt PHP als CGI oder als Apache-Modul?
    2. hast du auch wirklich die richtige PHP.INI geändert?
    Beides erfährt man über die PHP-Info anhand dieser Einträge:
    a) Server API
    b) Configuration File (php.ini) Path
    c) Loaded Configuration File (<-- auf diese kommt es eigentlich an)
    d) Scan this dir for additional .ini files
    e) additional .ini files parsed
    Stehen bei d) Verzeichniss, bitte nach php**.inis durchsuchen und prüfen.
    Stehen in e) Pfade drin, auch diese Dateien prüfen.

    Was mich hierzu führt:
    3. hast "du" auch die nötigen Benutzerrechte um die (ganzen) PHP.INI zu ändern ? (sudo ?)
    4. wie lautet der Wert der Umgebungsvariablen TZ
    Die solltest du über die Konsole finden oder was PHPs Sicht der Dinge angeht in der Ausgabeflut dieses Zweizeiler fündig werden:
    PHP-Code:
    <pre><?php 
    print_r
    ($_ENV);
    print_r($_SERVER);
    Die hochoffizielle Lösung für *nix lautet: TZ setzen

    Kopier doch mal bitte diese "xampp/phpinfo.php" ins Root von J! und ruf sie *dort* auf... Der J!-Admin filtert da zuviel raus, u.a. auch die System- und Server-Variablen.

    Und dann nochmal ganz doof gefragt: da lese ich zum einen "/opt/lampp/htdocs/..." und dann sagst du was von einer "xampp/phpinfo.php" und ganz zu Anfang meintest du "mein xampp läuft unter Linux (aber schon der richtige)" -- ja gibt's denn auch einen falschen??

    Ok, nun bist du wieder dran

    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  12. Erhielt Danksagungen von:


+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein