Serverski čas in PHP časovne funkcije

Ob spremembi časa na "poletni čas" se na serverju zaradi nastavitve UTC čas ni spremenil in zaostaja za eno uro kar na PHP aplikaciji povzroča probleme - časovne funkcije in mySQL - NOW(), programsko sem prestavil TimeZone na Europe/London se čas prikazuje pravilno s premikom, vendar v mySQL z funkcijo NOW zapisuje stari čas tj -1uro, jasno da vse to poruši vse časovne logike, če obstaja kakšna rešitev ob nespremenjenm serverskem času prosim za pomoč....

3 odgovori

Če si spremenil čas na serverju, mysql-a pa nisi reštartal, zna bit to problem.

Imam zakupljeno gostovanje in tako nimam dostopa do sistemskih nastavitev, ponudnik pa izgleda ne misli spremeniti trenutne nastavitve (-1 ura) na poletni čas, kljub urgenci. Sedaj mi nič ne preostane kot "znajdi se sam".

Testiral sem nastavitev strežnika z:

datedefaulttimezoneget() = nastavitev je UTC
po nastavitvi z:
date
defaulttimezoneset('Europe/London'); ???
sem pri funkciji date('d.m.Y H:i:s') dobil pravilen izpis datuma
pri zapisu v mySQL z funkcijo NOW() pa še vedno zapisuje čas -1 ura
če uporabim namesto NOW() funkcije insert z $cas = date('Y-m-d H:i:s') zapiše pravilni datum,

ker je preveč dela, da bi uskladil skript s tem načinom zato sprašujem ali je kakšna druga možnost...

V mysql-u lahko nastavljaš timezone
npr: SET time_zone = '-8:00';