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