Standard Europa Zeitzone gesetzt in php.ini, aber date_default_timezone_get() gibt 'UTC'
Ich habe in php.ini - Datei die Standard-Zeitzone:
date.timezone = Europe/Rome
Habe ich auch neu gestartet httpd
service nach dem Bearbeiten (service httpd restart), aber wenn ich call date_default_timezone_get()
es gibt 'UTC' Wert.
Warum dies passiert?
Fordern php_info()
zeigt die Zeitzone einstellen, in php.ini
PS. Sorry für mein Englisch.
- Verwendest du ein framework? Manchmal sind diese wird die Zeitzone setzen. Meine Vermutung ist, dass es im code festgelegt. Aber ohne weitere details, ich könnte nicht sagen, wo.
- Danke für die Antwort :). Nein, es ist nicht im code festgelegt. Ich verwendet date_default_timezone_get() nur zu überprüfen, ob der Standard-Zeitzone eingestellt wurde. Server-Zeit eingestellt, um das richtige Datum (das aktuelle Datum, hier in Italien). Wenn es nützlich sein kann, ich habe einen dedicated server mit CentoS 5.6.
- Es wird geändert, irgendwo. Ich würde die Suche den code für
date_default_timezone_set()
. Du bist nicht die Einstellung INI-Optionen via htaccess, vhost, etc.? - Nein, ich bin sicher. Und es ist nicht so, dass die Funktion in meinem code. Vielleicht kann ich versuchen, ein upgrade von PHP...
- dies zu realisieren ist ein ziemlich großes necro, ich habe das gleiche Problem. phpinfo() zeigt meine richtige Zeitzone, aber date_default_timezone_get() gibt UTC. genau die gleiche Frage. ich bin auf php 5.6.20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr code (einschließlich Rahmen) wirklich nicht ändern Sie die Zeitzone an alle und man läuft unter PHP version ab 5.1.x zu 5.3.x, ist es möglich, dass die
TZ
Umgebungsvariable gesetzt ist irgendwo in deinem system. Dann ist deindate.timezone
Einstellung wäre ignoriert.Finden Sie im PHP-manual-Seite von
Datum.timezone
(Hervorhebung von mir):Um zu überprüfen, ob oder nicht die
TZ
Umgebungsvariable gesetzt ist, die in Ihrem system, die Sie nutzen könntenoder setzen
irgendwo in deinem code, und überprüfen Sie die "PHP Variablen" Abschnitt ganz unten in der Ausgabe.
Ich hatte gerade das gleiche problem.
In meinem
php.ini
, die Zeitzone war gut informiert:date.timezone = Europe/Paris
Ich habe mit dem php-Befehl
--ri date
und Zeitzone in
php.ini
war gut gesorgt, so dass der Fehler nicht aus der ini-Datei.Der Fehler kam von der
httpd.conf
apache die Datei, wo deklariert ist die variable PHPIniDir.Hatte ich
PHPIniDir "C:\PHP\"
Müssen Sie entfernen die letzten back-slash gibt:
PHPIniDir "C:\PHP"
Ich hoffe, diese Anregungen helfen.
(Nur eine Präzision, meine Umgebung : Windows 7, php 5.4.32 und apache 2.2.25er)