Docker環境のPHPのtimezoneの設定方法




docker環境での初めてのPHPの設定時に、ハマってしまったので記録します。

解決してくれたのはこちらのサイト。有益な記事を本当にありがとうございます。

Docker Quickstart Terminalで現在のdateを確認、

$ date
2020年 8月 31日 月曜日 07:13:05

『ふむふむ…』

index.phpで出力テスト、

<?php
$date = date('Y/m/d H:i:s');
print($date);
?>

2020/08/30 22:13:05

『ありゃま…』

よくある9時間遅れのUTC 協定世界時

phpinfo()で確認する、

<?php
phpinfo();
?>

PHPの設定ファイルを変更する必要がありそうだけど…

その場所は…/usr/local/etc/php/php.ini

しかし辿り着けない…。ここでかなり時間がかかった。

設定方法

php.iniは作れるらしい。作る場所はDockerfileと同じディレクトリに置いてみた。書くのは下記のみ。

[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

今作ったphp.iniをコンテナにマウントする。下記をDockerfileに記載する。

マウントとは、読み込ませて使える状態にすること。なんとなくそんな感じ。

ADD ./php.ini /usr/local/etc/php/php.ini

再起動…

$ docker-compose stop

からの、

$ docker-compose up -d --build

phpinfo()で確認する、

Default timezoneがAsia/Tokyoに設定されているのが確認できます。

再起動の際に–build忘れずに。

それではまた!!




ABOUT US
kee
フルマラソン3:27:43!! ファイナンシャルプランナー&JADPメンタル心理カウンセラー&上級心理カウンセラー! 普段は食品工場で仕事をしています。ランニング大好き、料理大好き、サッカー大好き、キャンプ大好き、お酒大好き、釣り大好き、激辛大好き、読書大好き、書ききれないほどの大好きに囲まれて毎日幸せを実感しています。夢はホノルルマラソンに出ること。 座右の銘『明日死ぬかのように生きよ、永遠に生きるかのように学べ』 このブログは忘れやすい私の備忘録、私の脳の第2領域です。