2

ロシアのタイムゾーンを変更した最近の法律のおかげで、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 を使用していますか? これが全然わからない(=_=)

4

1 に答える 1

0

サーバーを完全に再起動することで解決しました。nginxを複数回再起動しても、どういうわけかPHPがまだ実行されていました...

于 2012-11-26T13:55:10.983 に答える