0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでLaravel8環境を作った際にタイムゾーン設定でハマった話

Posted at

はじめに

DockerでPHP公式イメージである「PHP:8.0-apache」を利用してLaravel8.4環境を構築した際に、タイムゾーン設定でハマった話。

環境

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',

これだけでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?