スポンサーリンク

CakePHPからMySQLへ接続してみる

スポンサーリンク
スポンサーリンク

CakePHPのインストールができたので、データベースへの接続のみ試してみる。
CakePHPのバージョ:3.3.12
MySQL(MariaDB)のバージョン:10.1.19

config/app.phpのDatasourcesの値は以下の通り。なので、ユーザにmy_app、ユーザパスワードはsecret、データベースはmy_appを作成してみる。


'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'username' => 'my_app',
        'password' => 'secret',
        'database' => 'my_app',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,
        'quoteIdentifiers' => false,
        'url' => env('DATABASE_URL', null),
    ],

phpAdminで、my_app’@’localhost’のユーザの作成と、my_appのデータベースを作成した。
その後、http://localhost:8765/にアクセスする。Databaseの欄を見ると、以下のメッセージのままで、まだデータベースに接続できていない。

CakePHP is NOT able to connect to the database.
Connection to database could not be established: SQLSTATE[HY000] [1045] Access denied for user 'my_app'@'localhost' (using password: YES)

コマンドプロンプトからmysqlへ接続を試みるも、エラーになってしまう。

mysql -u my_app -psecret
ERROR 1045 (28000): Access denied for user 'my_app'@'localhost' (using password: YES)

原因は、phpAdminでユーザを作成したときのパスワードが誤っていた。
パスワードをsecretに修正する。
http://localhost:8765/にアクセスする。Databaseの欄を見ると、以下のメッセージが出力されている。これでデータベースへの接続も完了した。

CakePHP is able to connect to the database.

コメント

タイトルとURLをコピーしました