KUSANAGI環境(nginx+php7)でphp-fpmのTime ZoneをJST(Asia/Tokyo)にする

古いサーバからWebサイトをKUSANAGIの新サーバに持ってきたら、Timezoneの設定がおかしいようだ。保存したデータの日付が、UTCになって9時間の時差が発生してしまっている。
RDSのTimezoneがUTCだからかな?と思って、RDSのTimezoneを設定(パラメータ変更)してみても解消しない。(この話は別途書きたい)
じゃあ/etc.php.iniを編集してnginxを再起動だろう、と思ってもこれが反映されない。あ、そうか。php-fpmのモジュールで動いているから/etc/php-fpm.d/www.conf あたりかな?それでphp-fpmを再起動すればいいのでは?と思ったけど、そんな項目はない。
こんなときは、phpinfo()を実行して結果を見てみよう

date

date/time support enabled
timelib version 2018.03
“Olson” Timezone Database Version 2020.1
Timezone Database internal
Default timezone UTC

今、どの設定ファイルが読み込まれているからは、「Loadede Configuration」の項目に表示されている。

Configuration File (php.ini) Path /etc/php7.d
Loaded Configuration File /etc/php7.d/php.ini

そこか!

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

となっているのを

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

と書き換えて保存。
nginxとphp-fpmを再起動すれば反映されるのだが、KUSANAGIには現在の実行環境をまとめて再起動してくれる便利なコマンドがある。

広告

[dacelo@space ~ ]$ sudo kusanagi restart
完了しました。

無事反映されました。

date

date/time support enabled
timelib version 2018.03
“Olson” Timezone Database Version 2020.1
Timezone Database internal
Default timezone Asia/Tokyo

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *