<?php
print "a";
echo rand(1,10);
?>
とかはちゃんと表示されるのですが、
dateやmktimeやgetdateなどを使うとエラーが出てしまいます。
サンプルコードは参考書通りなので間違っていないと思うのですが、
サーバー側の問題なのでしょうか。サーバーはapache2.4でローカルで使っています。
<?php
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
Warning: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead in C:\apache\htdocs\a.php on line 4
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead in C:\apache\htdocs\a.php on line 4
2006-04-05T01:02:03+09:00
<?php
$today = getdate();
print_r($today);
?>
Warning: getdate() [function.getdate]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead in C:\apache\htdocs\a.php on line 2
Array ( [seconds] => 6 [minutes] => 44 [hours] => 23 [mday] => 11 [wday] => 6 [mon] => 2 [year] => 2012 [yday] => 41 [weekday] => Saturday [month] => February [0] => 1328971446 )
正確にはエラーじゃなく「警告(warning)」です。
で、メッセージは読みました?
「It is not safe to rely on the system's timezone settings」で検索したら、原因と対処がいくらでも見つかりますよ。
最近追加されたようなので、古い参考書には載っていないのかもしれません。
お礼
検索し解決策を見つけました。 php.iniでTimeZoneを設定する必要があり、 「Module Settings」セクションで ;date.timezone = を date.timezone = "Asia/Tokyo" と変更しました。 無事に全て表示されました。 有難うございました。