DockerでLaravel8環境を作った際にタイムゾーン設定でハマった話
はじめに
DockerでPHP公式イメージである「PHP:8.0-apache」を利用してLaravel8.4環境を構築した際に、タイムゾーン設定でハマった話。
環境
docker -v
docker -v
Docker version 20.10.12
docker compose version
Docker Compose version v2.1.1
Ubuntu 20.40(WSL2)
上記環境でLaravelインストールまで終わった状態。
失敗手順
php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"
上記「php.ini」をホスト側(ローカル)に作成。
最低限の設定を記述し、コンテナ側「/usr/local/etc/php/php.ini」にマウント。
この状態でLaravel上で「date("Y-m-d H:i:s")」を実行してみると、UTC/協定世界時の日時が表示される。
なんで???と思いつつphpinfo()のdate欄を確認。
「date.timezone」は「Asia/Tokyo」になっているが、「Default timezone」は「UTC」のまま、、、
コンテナ停止・イメージ削除してからコンテナを再度起動しても変わらず。
成功手順
上記の失敗手順に加えて、Laravelソース内「config/app.php」の該当箇所を変更
'timezone' => 'UTC',
↓↓
'timezone' => 'Asia/Tokyo',
これだけでした。
Author And Source
この問題について(DockerでLaravel8環境を作った際にタイムゾーン設定でハマった話), 我々は、より多くの情報をここで見つけました https://qiita.com/tojiko/items/6df524f2e1fcab2bae9d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .