nur bei Subdomain - falsche Zeitberechnung (PHP)  [GELÖST]

Locked
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Hallöchen,

mir ist heute das Phänomen aufgefallen, dass bei nur einer (neuen) Subdomain die Zeiten falsch berechnet werden.

Sobald ich bei DOMAINALT per PHP den Timestamp 1575156343 berechne, bekomme ich 01.12.2019 12:25 raus - so korrekt. Bei DOMAINNEU bekomme ich aber 30.11.2019 11:25 raus. Hat da jemand ein ähnliches Problem?

Liebe Grüße
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Alexander »

Deine Domains laufen also scheinbar mit verschiedenen PHP-Versionen.

Ein Neustart der betroffenen PHP-FPM Instanz(en) sollte das Problem beheben. Ursache kann sein, dass die System-Zeit / die Konfiguration der jeweiligen PHP Version angepasst wurde, aber der entsprechende PHP- FPM nicht neu gestartet / neu geladen wurden.

Code: Select all

# für die OS Version
service php7.2-fpm restart

# für die zusätzlich Installierten (XX natürlich durch Versionsnummer ersetzen)
service keyhelp-phpXX-fpm restart
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Negativ, die Subdomain läuft auf PHP (7.3.11) wie die Hauptdomain. Habe auch eben erneut das so eingestellt und mal den Server neugestartet - keine Änderung wirksam.
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Hallöchen,

ich habe jetzt noch mal alles überprüft. Die Hauptdomain läuft auf Standardinterpreter 7.3.11 (Debian 10), es wurden keine zusätzlichen Interpreter installiert. Die Subdomains wurden jetzt alle noch mal manuell auf "wie Hauptdomain" geändert. Zusätzlich habe ich php-fpm auch noch mal neugestartet. Leider hat das kein positives Ergebnis gebracht - der Timestamp läuft immer noch eine Stunde hinterher. An was könnt es jetzt noch liegen?

// Edit:

die Zeit der Hauptdomain läuft korrekt, genau so wie eine zweite Subdomain - es ist nur die dritte (neue) die hinterher hängt. Serverzeit ist auch korrekt.

// Korrektur:

mittlerweile laufen alle Domains eine Stunde hinterher

LG
User avatar
Jolinar
Community Moderator
Posts: 3559
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Jolinar »

- Im Startpost beschreibst du eine Zeitdifferenz von 25 Stunden, im letzten Post von 1 Stunde. Welche Angabe ist nun aktuell richtig?
- Stimmt denn eigentlich die Systemzeit, wenn du am CLI mit:

Code: Select all

date -R
abfragst?
- Wie genau gewinnst du den Timestamp, auf dem deine Berchnungen beruhen?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Jolinar wrote: Thu 5. Dec 2019, 19:26 - Im Startpost beschreibst du eine Zeitdifferenz von 25 Stunden, im letzten Post von 1 Stunde. Welche Angabe ist nun aktuell richtig?
- Stimmt denn eigentlich die Systemzeit, wenn du am CLI mit:

Code: Select all

date -R
abfragst?
- Wie genau gewinnst du den Timestamp, auf dem deine Berchnungen beruhen?
Öhh, ja, weil das um nach 0 Uhr war - hätte das so korrekter schreiben sollen, hast tatsächlich recht.

Systemzeit stimmt:
Thu, 05 Dec 2019 19:43:07 +0100

Den Timestamp schreibe ich per time() in die DB und hole ihn direkt so raus - Direktvergleich ist 1:1 korrekt.
User avatar
Jolinar
Community Moderator
Posts: 3559
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Jolinar »

ThomasTailor93 wrote: Thu 5. Dec 2019, 19:43 Öhh, ja, weil das um nach 0 Uhr war - hätte das so korrekter schreiben sollen, hast tatsächlich recht.
Hatte ich schon vermutet, wollte jetzt nur sichergehen.

Stimmen die Zeitzoneneinstellungen von PHP?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Jolinar wrote: Thu 5. Dec 2019, 19:49
ThomasTailor93 wrote: Thu 5. Dec 2019, 19:43 Öhh, ja, weil das um nach 0 Uhr war - hätte das so korrekter schreiben sollen, hast tatsächlich recht.
Hatte ich schon vermutet, wollte jetzt nur sichergehen.

Stimmen die Zeitzoneneinstellungen von PHP?
Hatte aus Test date_default_timezone_set('Europe/Berlin'); probiert - keine Änderung. date_default_timezone_get ergab Europe/Berlin. Sonst habe ich nichts geändert.
User avatar
Tobi
Community Moderator
Posts: 2812
Joined: Thu 5. Jan 2017, 13:24

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Tobi »

Dann lade mal auf beiden Seiten eine phpinfo() Datei hoch und kontrolliere die Ausgabe auf Unterschiede.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Alexander »

Den Timestamp schreibe ich per time() in die DB und hole ihn direkt so raus - Direktvergleich ist 1:1 korrekt.
Geht es jetzt hier nur um PHP oder um die Datenbank?

Wenn du über die Datenbank gehst dann erhältst du die falsche Zeit? Ist es wirklich nur ein Timestamp int? Ist die Zeitzone deiner Datenbank auch korrekt eingestellt? Bzw. setzt deine Anwendung auch die korrekte Zeitzone (SET time_zone = '<OFFSET>')?

Was ergibt denn ein simples

Code: Select all

<?php echo date('c');
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
Jolinar
Community Moderator
Posts: 3559
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Jolinar »

Da es hier um einen Unterschied von einer Stunde geht, könnte neben einem Problem mit der Zeitzone auch eventuell noch die Sommer-/Normalzeit dazwischenfunken?
Was gibt denn die PHP Funktion date mit dem Parameter "I" (großes i) aus?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

Tobi wrote: Fri 6. Dec 2019, 08:16 Dann lade mal auf beiden Seiten eine phpinfo() Datei hoch und kontrolliere die Ausgabe auf Unterschiede.
Keinerlei Unterschiede feststellbar. Soweit sieht das auch gut aus:

date/time support enabled
timelib version 2018.02
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone Europe/Berlin
Alexander wrote: Fri 6. Dec 2019, 08:30
Den Timestamp schreibe ich per time() in die DB und hole ihn direkt so raus - Direktvergleich ist 1:1 korrekt.
Geht es jetzt hier nur um PHP oder um die Datenbank?

Wenn du über die Datenbank gehst dann erhältst du die falsche Zeit? Ist es wirklich nur ein Timestamp int? Ist die Zeitzone deiner Datenbank auch korrekt eingestellt? Bzw. setzt deine Anwendung auch die korrekte Zeitzone (SET time_zone = '<OFFSET>')?

Was ergibt denn ein simples

Code: Select all

<?php echo date('c');
Es geht um PHP. In der Datenbank wird nur der Zeitstempel abgelegt - ich verarbeite diesen in PHP. Der Zeitstempel wird auch korrekt geschrieben.
MySQL ist korrekt eingestellt. Habe direkt mal SELECT CURRENT_TIME eingegeben > 02:47:17.

date('c') > 2019-12-07T01:48:55+00:00
Jolinar wrote: Fri 6. Dec 2019, 10:16 Da es hier um einen Unterschied von einer Stunde geht, könnte neben einem Problem mit der Zeitzone auch eventuell noch die Sommer-/Normalzeit dazwischenfunken?
Was gibt denn die PHP Funktion date mit dem Parameter "I" (großes i) aus?
date('I') > 0, also keine Sommerzeit

Irgend was ist echt komisch..

Danke für eure Hilfe vorab.
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by ThomasTailor93 »

So, sorry als Doppelpost. Aber der Übersicht halber.

Ich führe diverse Abfragen über die Woltlab Suite API durch - und durch Zufall habe ich heraus gefunden, dass nach Einbindung global.php der Suite die Zeit auf einmal falsch ist. Werde nun man erkunden warum... darauf muss man echt erst einmal kommen.

Danke für die Hilfe!
User avatar
Jolinar
Community Moderator
Posts: 3559
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)

Post by Jolinar »

ThomasTailor93 wrote: Sat 7. Dec 2019, 03:02 Werde nun man erkunden warum
Da stimmt die Zeitzone in der WL-Installation nicht. Gib im WL-ACP einfach "Zeitzone" im Suchfeld ein, dann solltest du zu der richtigen Einstellung kommen.
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
ThomasTailor93
Posts: 75
Joined: Tue 28. Jun 2016, 05:11
Location: Erfurt

Re: nur bei Subdomain - falsche Zeitberechnung (PHP)  [GELÖST]

Post by ThomasTailor93 »

Jolinar wrote: Sat 7. Dec 2019, 06:11
ThomasTailor93 wrote: Sat 7. Dec 2019, 03:02 Werde nun man erkunden warum
Da stimmt die Zeitzone in der WL-Installation nicht. Gib im WL-ACP einfach "Zeitzone" im Suchfeld ein, dann solltest du zu der richtigen Einstellung kommen.
War tatsächlich etwas komplizierter.

Für die API muss man die WCF.class.php inkludieren. Dort war aber die Zeitzone wie folgt eingestellt:

// fix timezone warning issue
if (!@ini_get('date.timezone')) {
@date_default_timezone_set('Europe/London');
}

Nun auf Europe/Berlin gestellt und es geht.
Locked