PHP 5.3 çalıştıran benim yerel, Windows kutusunu test ederken, PHP 5.2.6 ile Solaris sunucu üzerinde PHP DateTime sınıfını kullanmak çalışılıyor. İşte kod:
<?php
try {
$dt = new DateTime('2009-10-08');
$dt->setDate(2009,10,8);
print_r($dt);
}catch (Exception $e) {
echo $e->getMessage();
}
Test sunucusu üzerinde, işler sorunsuz çalışacak, bu baskılar ne:
DateTime Object ( [date] => 2009-10-08 00:00:00 [timezone_type] => 3 [timezone] => America/New_York )
Bunu kullanmak için gereken sunucu üzerinde, ancak bu baskılar ne:
DateTime Object ( )
SetDate Çıkarma olursa olsun hiç fark etmez.
Neden herhangi bir fikir oluyor olabilir?
Teşekkürler!
Edit
Senaryoyu Modifiye:
try {
echo '|', date_default_timezone_get(), '|';
date_default_timezone_set('America/New_York');
echo '|', date_default_timezone_get(), '|';
$dt = new DateTime('2009-10-08');
$dt->setDate(2009,10,8);
print_r($dt);
}catch (Exception $e) {
echo $e->getMessage();
}
Sunucuda yeni çıktı:
|US/Eastern||America/New_York|DateTime Object ( )