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 |