FuelPHP Parse Error – SQLSTATE[HY000] [1045] Access denied for user ‘**********’@’localhost’ (using password: YES)

FuelPHPでコマンドからDBに接続しようとしたらParse Error - SQLSTATE[HY000] [1045] Access denied for user '**********'@'localhost' (using password: YES)とエラーがでてしまいました。このエラーの対処方を残しておきます。
コマンド
SSHでログインして行います。
[c]
cd /var/www/html/プロジェクト名/
oil console
Fuel 1.8 - PHP 7.0.7 (cli) (May 25 2016 18:27:57) [Linux]
>>> Auth::create_user('fuelphp', 'fuelphp', 'fuelphp@example.com');
Parse Error - SQLSTATE[HY000] [1045] Access denied for user '**********'@'localhost' (using password: YES)
[/c]
となりました。
原因
原因はFuelPHPからDBに接続するときにrootのパスワードをrootで上書きしてるというのがあるみたいです。本番環境の場合は以下の方法で対処できるみたいです。
本番環境での対処方
fuel/app/configの下にある下記ディレクトリを削除します。
- development
- production
- staging
- test
これで動くみたいです。もしくはapp/config/production/db.phpの内容を本番用のユーザーに書き換えてあげればいいかも知れません。
開発環境での対処方
僕は開発環境で起きたため以下のようにして対応しました。
app/config/development/db.phpを編集
[php]
<?php /** * The development database settings. These get merged with the global settings. */ return array( 'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=fuelphp',
'username' => 'fuelphp',
'password' => 'fuelphp',
),
),
);
[/php]
DB名、ユーザー名、パスワードを全てfuelphpで作っていたためこの設定にしてアップロードをしたらうまくいきました。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS