Das folgende Skript gibt die falsche Zeit zurück, nachdem ich date_default_timezone_set("UTC")
Die Zeitzone auf dem Server ist BST . Was also passieren sollte ist, dass der zweite Aufruf von 'date' eine Stunde nach dem ersten Aufruf zurückgeben soll. Es gibt tatsächlich eine Zeit zurück 5 Stunden hinter der ersten.
Ich sollte beachten, dass der Server ursprünglich mit der EDT-Zeitzone (UTC -4) eingerichtet wurde. Das wurde in BST (UTC +1) geändert und der Server wurde neu gestartet.
Ich kann nicht herausfinden, ob das ein PHP-Problem oder ein Problem mit dem Server ist.
Dies ist fast sicher kein Fehler in PHP, sondern in Ihrer lokalen Zeitzonen-Konfiguration.
Wahrscheinlich haben Sie die systemweite Zeitzone nicht geändert, sondern nur die eines interaktiven Displays. Überprüfen Sie, ob /etc/localtime
dem entspricht, was Sie erwarten würden. Auf Debian-Systemen können Sie tzselect (mit Superuser-Rechten) ausführen, um die systemweite Zeitzone festzulegen.
Nach dem Einstellen der Zeitzone müssen Sie möglicherweise Ihre Uhr zurücksetzen. Auf vielen Systemen sollte dies automatisch im Laufe der Zeit geschehen, aber Sie können dies manuell tun, indem Sie ntpdate -u pool.ntp.org
ausführen.
Sie sollten das php Handbuch für die korrekte Zeitzone Ihres Landes überprüfen. Stellen Sie es dann in der Funktion date_default_timezone_set () ein. Zur Klarstellung, ich erklärte es hier Ссылка
setze deine Region einfach mit folgendem Code
%Vor%Liste der unterstützten Zeitzonen Ссылка