CakePHP3で日本時刻に
CakePHP3のタイムゾーンは協定世界時UTCである。
だが。ここは日本だ。
UTCだといろいろメンドイので日本に設定変更する必要がある。
config/bootstrap.php
date_default_timezone_set('Asia/Tokyo');
config/app.php
'Datasources' => [
'default2' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => '127.0.0.1',
'username' => 'XXXX',
'password' => 'XXXX',
'database' => 'XXXX',
'encoding' => 'utf8',
'timezone' => 'Asia/Tokyo',
'flags' => [],
:
:
:
:
まぁ、この2箇所くらいのtimezoneをAsia/Tokyoに変えるだけだが。
sudo mysql -u root
select * from mysql.time_zone;
これ叩いてレコードが0件とか言われたら、データ追加が必要なり。
ここからデータ持ってくる。
https://dev.mysql.com/downloads/timezones.html
The other set is for 5.7+. Each file contains SQL statements to fill the tables:
timezone_2018e_posix_sql.zip - POSIX standard
このtimezone_2018e_posix_sql.zipってのをダウンロードする。
ま、こんな感じ?
wget https://downloads.mysql.com/general/timezone_2018e_posix_sql.zip
unzip timezone_2018e_posix_sql.zip
実行する
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
場合によってはsudoしなきゃダメかも。
mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root mysql
で。
さっき0件って出たSQLを再度叩いて。データ出たらOK!
mysql再起動。ま、ubuntuならこんな感じ。
sudo /etc/init.d/mysql restart
sudo /etc/init.d/apache2 restart
あ、アパッチも再起動しちゃってるーー。
ま、これで終わりですー。