larabelでtimezone設定

日付が変わったのに、アプリケーションの設定が前日分から切り替わらないと辛いお知らせがあった。
月1のバッチが動かないと言われた時のような辛さです。

あれと思ってシステム時間を確認するが、あってる。

# date
2016年 12月 18日 日曜日 11:48:08 JST

アプリケーションはphpだったので、phpinfo()を見てみる。

System => Linux ik1-330-25022.vs.sakura.ne.jp 2.6.32-642.4.2.el6.x86_64 #1 SMP Tue Aug 23 19:58:13 UTC 2016 x86_64

date に関する項目は次の通り。

date

date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => Asia/Tokyo

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => Asia/Tokyo => Asia/Tokyo
                                                                                                                                                                                                  214,1         19%
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => Asia/Tokyo => Asia/Tokyo

こっちはちゃんとAsia/Tokyo になっている。

それから、自国取得確認用のURLを作って確認してみると、

/* タイムゾーン確認 */
Route::get('admin/time', function () {
    return date('Y-m-d h:s:i');
});
2016-12-18 04:34:43

見事に、タイムゾーンがずれている。

念のためにphp.iniの設定を確認、再起動をする。

そして、原因は使用しているフレームワークlarabelにあるのではと気づく。

config/app.php

    /*
    |--------------------------------------------------------------------------
    | Application Timezone
    |--------------------------------------------------------------------------
    |
    | Here you may specify the default timezone for your application, which
    | will be used by the PHP date and date-time functions. We have gone
    | ahead and set this to a sensible default for you out of the box.
    |
    */

    'timezone' => 'UTC',

設定漏れてたー!!

ここを'Asia/Tokyo'にすると戻りました。

ありがとうございます。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク