Engelein: Woher bekomme ich die genaue Zeit?

Beitrag lesen

Das PHP- Kommando time() gibt mir ja "nur" die mehr oder weniger korrekte Zeit des einzelnen Systems. Und das lügt meistens um mehrere Minuten, vielleicht sogar Stunden, wenn es in einer anderen Zeitzone steht.

Der Wert, den time() zurückgibt, ist Weltzeit (GMT, UTC). Wenn da ein Rechner um Stunden abweicht, dann geht seine Uhr schlichtweg falsch, aber mit der Zeitzone, in der er steht, hat das nix zu tun.

Ich hätte schon das Bedürfnis, das Feld last_modified in allen MySQL- Tabellen aller Rechner mit meinen Programmen auf eine gemeinsame Zeitbasis zu stellen.
Gibt es per PHP oder SQL eine Anfrage an das Universum, wie spät es ist?

Falls du im Besitz dieser Rechner bist, installiere auf jedem den NTP-Server. Er ist Standard im Netz und prinzipbedingt auch besser als jede Nacht per cron die Uhr stellen zu lassen.

Als Zeitserver nimm bitte in jedem Fall pool.ntp.org (bzw. mit jeweiliger Länderdomain davor, für Deutschland also de.pool.ntp.org), um die Last zu verteilen.

Und kann diese Antwort an das System weitergeleitet werden, sodass auch Änderungen per phpMyAdmin (ohne PHP) diese Zeit benutzen?

Per PHP kannst du nur das Programm date ausführen lassen, um die Systemzeit setzen zu lassen -  von hinten durch die Brust ins Auge, wenig elegant, verhältnismäßig ungenau. Vor allen Dingen stellt sich die Frage, ob der Systembetreiber es in Ordnung findet, wenn du an den Systemparametern rumdrehst, auch wenn du es nur gut meinst. Bitte ihn dann doch lieber, für eine ordentlich tickende Uhr zu sorgen.
Bist du hingegen selbst Systembetreiber, kannst du es gleich richtig machen, siehe oben.