ロシアのタイムゾーンを変更した最近の法律のおかげで、phpbb フォーラムのタイムゾーンを更新するのに苦労しています。私は nix 管理者よりも php プログラマーの方が多いので、これはすべて私にとってちょっと苦痛なので、アドバイスをいただければ幸いです。
簡単に言うと、シェル コマンド 'date' を実行すると、次のように返されます。
Fri Nov 23 11:20:39 MSK 2012
これで問題ありません。
ただし、PHP では、date('Ymd H:i:s',time()) は次を返します。
2012-11-23 10:20:39
これは1時間早すぎます。
PHP date_default_timezone_get() は以下を返します:
Europe/Moscow
PHPには独自の(時代遅れの)タイムゾーンデータベースがあると考えたので、先に進んで実行しました:
pecl install timezonedb
それに応じてphp.iniを変更し(timezonedb.soへのパスを追加)、サーバーを再起動して確認しました
php --ri timezonedb
ちゃんと反応した
Alternative Timezone Database => enabled
Timezone Database Version => 2012.10
しかし、時間の問題はまったく修正されておらず、phpinfo() に尋ねると、次のように応答します。
date
date/time support enabled
"Olson" Timezone Database Version 2010.9
Timezone Database internal
Default timezone Europe/Moscow
コマンドラインは timezonedb のバージョンが 2012.10 だと言っていますが、PHP はまだ 2012.9 を使用していますか? これが全然わからない(=_=)