質問: ### 前提・実現したいこと 当方初学者になります。宜しくお願い致します。 UdemyのLaravel 入門コースにおいて migrate 時にエラーが発生し、調べても調べても解決しないため 質問させていただきます。宜しくお願い致します。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ ``` エラーメッセージ ``` [PDOException] SQLSTATE[HY000] [2002] Connection refused (ターミナル上) ### 該当のソースコード tarminal上 $ php artisan migrate 以下 database.php より該当箇所を抜粋 'default' => env('DB_CONNECTION', 'sqlite'), /* |-------------------------------------------------------------------------- | Database Connections |-------------------------------------------------------------------------- | | Here are each of the database connections setup for your application. | Of course, examples of configuring each database platform that is | supported by Laravel is shown below to make development simple. | | | All database work in Laravel is done through the PHP PDO facilities | so make sure you have the driver for your particular database of | choice installed on your machine before you begin development. | */ 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => database_path('database.sqlite'), 'prefix' => '', ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ], ``` ソースコード ``` ### 試したこと MySQLではなく、sqlite使用のため、デフォルトのmysqlからsqliteに変更 'default' => env('DB_CONNECTION', 'sqlite'), env()の様にしたりと、色々試しましたがうまく動作しなかったため、ほぼデフォルトに戻してあります。 ### 補足情報(FW/ツールのバージョンなど) laravel 5.2 (udemyからの指示) PHP 7.1 sqlite3 環境はローカルです。 今日中に終わらせなくてはいけないため、恐縮ではありますが、こちらで質問させて頂きました。 宜しくお願い致します。
回答: まずはsqliteはインストールされているでしょうか? ターミナルで sqlite3 と打って、コマンドがnot foundになっていればインストールからです。 あと database.phpの内容だけでなく、 .envファイルの DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret という部分を DB_CONNECTION=sqlite DB_DATABASE=database.sqlite (上記2行以外は消してもコメントにしても構いません) にする必要がありますが、それはやりましたか?