質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

5834閲覧

【cakephp】データベースエラーメッセージを修正したいです。

ssk

総合スコア332

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/11/12 11:22

編集2016/11/12 11:34

PHP

1CakePHP is NOT able to connect to the database. 2 3Connection to database could not be established: SQLSTATE[HY000]: General error: 1298 Unknown or incorrect time zone: 'Asia/Tokyo'

cakephp3をインストールしたトップページで上記のエラーが表示されます。

/config/app.php
の'timezone' => 'Asia/Tokyo',を'timezone' => '',

のように、空白にするとエラーは表示されません。

原因不明で気持ちが悪いので、直したいです。

/config/bootstrap.php

PHP

1/* 2 * Set server timezone to UTC. You can change it to another timezone of your 3 * choice but using UTC makes time calculations / conversions easier. 4 */ 5date_default_timezone_set('Asia/Tokyo');

php.ini

PHP

1[Date] 2; Defines the default timezone used by the date functions 3; http://php.net/date.timezone 4date.timezone = Asia/Tokyo

サイトを参考に該当箇所を変更してみたのですが、直りません。。

MySQLは以下のディレクトリにあります。
/opt/local/lib/mysql56/bin/mysqld

✓追記
ーーーーーーーーーーーーーーーーーーーー
/config/app.php

php

1'Datasources' => [ 2 'default' => [ 3 'className' => 'Cake\Database\Connection', 4 'driver' => 'Cake\Database\Driver\Mysql', 5 'persistent' => false, 6 'host' => 'localhost', 7 /** 8 * CakePHP will use the default DB port based on the driver selected 9 * MySQL on MAMP uses port 8889, MAMP users will want to uncomment 10 * the following line and set the port accordingly 11 */ 12 //'port' => 'non_standard_port_number', 13 'username' => 'root', 14 'password' => 'pass', 15 'database' => 'sample', 16 'encoding' => 'utf8', 17 'timezone' => Asia/Tokyo, 18 'flags' => [], 19 'cacheMetadata' => true, 20 'log' => false, 21

のように

'timezone' => 'Asia/Tokyo',を'timezone' => Asia/Tokyo
に変更したところ、エラーはでませんでした。

このままで大丈夫なのでしょうか?
できれば、エラーの原因含め教えていただけると助かります><

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

私の場合は下記の設定を行いました。

cake

1/config/app.php 2 'timezone' => '+09:00', 3  4/config/bootstrap.php 5 date_default_timezone_set('Asia/Tokyo'); 6

投稿2016/11/12 12:12

編集2016/11/12 12:22
A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ssk

2016/11/12 12:28

A.lchi様 ご回答ありがとうございます。 今回はY.H.様の方法で解決致しました。 後学のために、そちらでも試してみます。 また、お世話になるかと思います>< その際はよろしくお願い致します。
guest

0

ベストアンサー

mysqlのtimezoneの設定をしてください

4.4.6 mysql_tzinfo_to_sql — タイムゾーンテーブルのロード
https://dev.mysql.com/doc/refman/5.6/ja/mysql-tzinfo-to-sql.html

投稿2016/11/12 11:41

編集2016/11/12 11:42
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ssk

2016/11/12 11:58

申し訳ございません。 ターミナルを動かすのが初心者です。 以下のエラーが出て、実行することができません。 -bash: mysql_tzinfo_to_sql: command not found -bash: mysql: command not found 私の環境ではどのように書けば良いでしょうか、、
ssk

2016/11/12 12:26

Y.H様 ご回答ありがとうございました。 MySQLのパスを設定し直し、以下をロードし、エラーが表示されなくなりました。 mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root mysql -p
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問