Standard-Europa-Zeitzone in php.ini, aber date_default_timezone_get () gibt 'UTC' zurück

9

Ich habe in der php.ini Datei die Standardzeitzone eingestellt:

%Vor%

Ich habe auch httpd service nach der Bearbeitung neu gestartet (service httpd restart), aber wenn ich date_default_timezone_get() aufruft, gibt es den 'UTC' Wert zurück.

Warum passiert das?

Auch der Aufruf von php_info() zeigt die in php.ini

eingestellte Zeitzone an

PS. Entschuldigung für mein Englisch.

    
Andres7X 08.08.2012, 17:01
quelle

2 Antworten

4

Wenn Ihr Code (einschließlich aller Frameworks) die Zeitzone wirklich ändert und Sie unter einer PHP-Version von 5.1.x bis 5.3.x laufen, ist es möglich, dass TZ Umgebungsvariable ist irgendwo in Ihrem System festgelegt. Dann würde Ihre date.timezone Einstellung ignoriert werden .

Siehe die PHP-Manpage von date.timezone (Hervorhebung von mir) :

  

Die Standardzeitzone, die von allen Datums- / Uhrzeitfunktionen verwendet wird. Vor PHP 5.4.0 funktionierte das nur, wenn die TZ-Umgebungsvariable nicht gesetzt war . [...]

Um zu überprüfen, ob die Umgebungsvariable TZ in Ihrem System gesetzt ist, können Sie

verwenden %Vor%

oder put

%Vor%

irgendwo in Ihrem Code und überprüfen Sie den "PHP-Variablen" Abschnitt ganz unten in seiner Ausgabe.

    
Jürgen Thelen 12.08.2012 22:57
quelle
0

Ich hatte gerade das gleiche Problem.

In meiner php.ini war die Zeitzone gut informiert:
date.timezone = Europe/Paris

Ich habe das mit dem PHP-Befehl --ri date
überprüft und Zeitzone in php.ini wurde gut behandelt, daher stammt der Fehler nicht von der INI-Datei.

Der Fehler kam von der Datei httpd.conf apache, in der die Variable PHPIniDir deklariert ist.

Ich hatte PHPIniDir "C:\PHP\"

eingegeben

Sie müssen den letzten Schrägstrich entfernen, der folgendes ergibt:
PHPIniDir "C:\PHP"

Ich hoffe, dieses Feedback wird Ihnen helfen.

(Nur eine Genauigkeit, meine Umgebung ist: Windows 7, PHP 5.4.32 und Apache 2.2.25)

    
doydoy44 11.09.2014 13:46
quelle

Tags und Links