Yukarıda kendi sorusuna OP'ın Yorum varsayılan zaman dilimi doğru değildir php.ini, ayarlanabilir olamaz ima - Aslında, birçok durumda orada preferred. ayarlama Bu SO cevap "php varsayılan zaman dilimi hatası" için Google ilk hitlerinden biri olduğu için, ben başkalarına bazı kayıp aklı kaydetmek gerekir.
Bu hata çok yaygın bir nedeni kullanılan php.ini dosyasında bölge şehir veya ülke (örneğin, "New York", "Los Angeles") yanlış yazmak için çok fazla değil, ama bunun yerine, gömülü boşluk yerine alt çizgi eklemek böylece tanımlayıcı ve tam sabiti "yanlış yazarlar".
Bu da (Windows, Linux ve OSX PHP 5.4 ve 5.3 doğrulandı,) zamanında her sayfada ayarlamak zorunda kalmadan, istediğiniz ne yapacak:
In php.ini,
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
; ^^^^^^^^^^^^^^^^ * Must_Use_Underscores *
Also, if you've checked and re-checked the spelling and are certain it's right, make sure you're editing the actual php.ini file that's being used:
Web context (create a test file test.php, and then confirm the date.timezone
there):
<?php phpinfo(); ?>
Komut satırı Linux / OSX:
$ php -i | grep "timezone"
Komut satırı, Windows:
C:\> php -i | find "timezone"
The precedence order for retrieving the default date timezone configuration is spelled out in detail here.