PHP Linux: Problem mit Serverzeit

wahnsinn

Teilzeitcholeriker
ID: 13929
L
20 April 2006
1.168
152
Hi,

hier ist es gerade 16:11 Uhr, aber mein Webserver behauptet die ganze Zeit es wär schon 18:11 Uhr.

Code:
echo time() => 1250259102;
echo strftime('%H:%M', time()) => 18:11
echo date('H:i', time()) => 18:11
echo gmdate('H:i', time()) => 14:11

Wenn ich über die Konsole date aufrufe bekomm ich folgende Zeit:
Code:
Fri Aug 14 16:12:59 CEST 2009

Kann mir irgend jemand sagen, in welche Richtung ich da mal recherchieren und die Einstellungen überprüfen könnte? Ich steh auf dem Schlauch.
 
Ich hab grad noch ein bisschen experimentiert:

echo date_default_timezone_get(); liefert mir System/Localtime

Füge ich oben in meinem Script date_default_timezone_set('Europe/Berlin');, zeigt er mir die richtigen Zeit an. Ich hätte aber gerne global alles korrekt eingestellt und keine solche Behelfslösung.

Auf meinem System hab ich die Zeit eben mit /usr/bin/tzselect die Zeitzone auf Europe => Germany => Berlin gestellt. In meinem PHP-Script läuft aber noch immer alles wie am Anfang. :roll:


// edit:
So, ich hab mir jetzt mit einem Eintrag in der php.ini geholfen.
Code:
date.timezone = Europe/Berlin
Aber wenn jemand spekulieren will, woher das Problem kam, der darf das hier gerne tun. Meine Neugierde würde es ihm danken.
 
Zuletzt bearbeitet:
php + UTC + GMT

Hallo



@ice-breaker wrote
PHP läuft in UTC

Denn wir haben GMT+1 (+1 Stunde Sommerzeit) also 2 Stunden Differenz.

Hat dies irgendwelceh Auswirkunegn, ich meine die Differenz, für logs, etc ?
Erst recht, wenn man die Zeit permanent synchronisiert (z.B. per ntp(d)
 
PHP läuft in UTC ;)

Denn wir haben GMT+1 (+1 Stunde Sommerzeit) also 2 Stunden Differenz.
Soweit ich das verstehe ist UTC = GMT, oder irre ich mich da?

Dann müsste die Uhr ja 2 Stunden nachgehen und date() und gmdate() müssten die gleichen Werte ausspucken. :think:

Bei mir wird aber bei gmdate() genau der erwartete Wert angezeigt (2 Stunden weniger als lokal), aber bei date() bekomm ich ja GMT+4. :ugly: :roll:

Also entweder versteh ich deine Erklärung nicht, oder du mein Problem nicht. ;)
 
php + utc +gmt

Hallo

@ice-breaker
Neija überleg dir einfach ob es für deine Anwendung problematisch ist in einer falschen Zeitzone zu laufen

Ich meinte das in bezug auf die logs und deren Auswertung, im falle eines fehelrrs des servers.

Wenn php utc benutzt, das OS (nehmen mir mal Linux) auf GMt (Berlin) eingestelt ist und die Zeit per ntp synchronisiert wird, dann hab ich nach deiner Erklärung, eien Differenz von 1, oder mit Sommerzeit von 2 Std.

Macht sich das auch in den logs vom Apache, oder in den logs von Mysql bemekrbar, oder wo, oder überhaupt ?

Schließlich kann ich auf einem Server mit untercshiedlichgen zeitangaben in den logs, eine Fehler fast nicht mehr verifizieren. Lieg ich hier faslch, oder wie ist die Sachlage?