Andreas Korthaus: /LINUX: Was tun gegen falsche Uhrzeit?

Beitrag lesen

Hallo!

Tja, irgendwie hast du dein PHP tatsächlich in eine andere Zeitzone manövriert. Schau dir mal die Ausgabe von phpinfo() an, ob da etwas verdächtiges steht.

phpinfo() - wonach soll ich da suchen?

var_dump(getenv("TZ"));
habe ich probiert, aber das gibt false(?)

Dann habe ich es mal mit

putenv("TZ=Europe/Berlin");

versucht - und siehe da - es geht! Und sogar bei einem 2. aufruf ohne obiges setzen, aber 1 Minute später geht es wieder nicht.

Wenn ich

export TZ=Europe/Berlin

verwende - also in der shell - wie lange ist dessen Lebensdauern? Bliebt das solange der Apache läuft? Wo genau wird hierdurch dei Änderung vorgenommen? Und wie kan nich das dauerhaft erreichen? ODer wirklich nur mit einer neuen Übersetzung?

Also im PHP-Code in datetime.c ist "BST" bzw. "GMT Standard Time" festverdrahtet, aber in Abhängigkeit von einigen Makros. Hast du das Verzeichnis in dem du PHP kompiliert hast noch?

Ja, ich gucke später mal rein. Ich suche dann mal mit cat file | grep BST

Ich habe zwar keine Ahnung wie das funktioniert, aber soweit ich das sehen kann, wird dieses Festverdrahtete benutzt, wenn HAVE_TM_GMTOFF nicht gesetzt ist.

Oh Gott...

Mach mal
grep ac_cv_struct_tm_gmtoff config.cache
in dem Sourceverzeichnis (nachdem ./configure gelaufen ist) und es sollte dir
ac_cv_struct_tm_gmtoff=${ac_cv_struct_tm_gmtoff=yes}

ac_cv_struct_tm_gmtoff=${ac_cv_struct_tm_gmtoff=yes}

ja, sieht gleich aus.

ausgeben, wenn alles in Ordnung ist.

Disclaimer: Das ist wildes, unqualifiziertes Rumgerate.

Besser das als absolut keine Ahnung...

Danke Dir für die Mühe!

Grüße
Andreas