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でログインして行います。
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)
となりました。
原因
原因はFuelPHPからDBに接続するときにrootのパスワードをrootで上書きしてるというのがあるみたいです。本番環境の場合は以下の方法で対処できるみたいです。
本番環境での対処方
fuel/app/configの下にある下記ディレクトリを削除します。
- development
- production
- staging
- test
これで動くみたいです。もしくはapp/config/production/db.phpの内容を本番用のユーザーに書き換えてあげればいいかも知れません。
開発環境での対処方
僕は開発環境で起きたため以下のようにして対応しました。
app/config/development/db.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', ), ), );
DB名、ユーザー名、パスワードを全てfuelphpで作っていたためこの設定にしてアップロードをしたらうまくいきました。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS