裏紙に書く程度の内容

php.iniのtimezoneが反映されない

XAMPPのphp.iniでtimezoneの設定したのに反映されない場合。

XAMPPの php.ini には timezone の設定箇所が2箇所あるよ、って言う罠。

事象

タイトルのとおりですが、新しいPCに開発環境を構築して作業中のリポジトリを持ってきて動かして・・・・。

とりあえず「動いた!」と思ったらログの日付がなんか変。

ああ、タイムゾーン設定しなきゃねと思って php.ini なおしたんだけど反映されなかった。

原因と修正方法

最初に述べたとおりですが、XAMPP(7.2.1) の php.ini には date.timezoneの記述が2箇所にありました。

949行目

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

1935行目

[Date]
date.timezone=Europe/Berlin

私は上のほうをdate.timezone=Asia/Tokyoとしたんですが、それじゃだめ。

なぜなら下のほうで再定義されているからね!

そりゃあ、上から検索してヒットしたところをなおすでしょ。そしてまだあるとは思わないでしょ!!

というわけで、下のほう(1935行目)を以下のようになおして

[Date]
;date.timezone=Europe/Berlin
date.timezone=Asia/Tokyo

アパッチ再起動でOK。

Index