質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

338閲覧

php laravel DB migrate時のエラーについて

yuyasato0220

総合スコア13

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/11/24 21:52

前提・実現したいこと

当方初学者になります。宜しくお願い致します。

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
環境はローカルです。

今日中に終わらせなくてはいけないため、恐縮ではありますが、こちらで質問させて頂きました。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずは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行以外は消してもコメントにしても構いません)
にする必要がありますが、それはやりましたか?

投稿2018/11/25 00:19

morguri

総合スコア46

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuyasato0220

2018/11/25 04:51

回答ありがとうございます! sqlite3はインストールされております。 .envファイルなのですが、自分も何でないんだろうと思ってたのですが、おそらくlaravel5.2だとないのかな・・・と思ったのですが、どうでしょうか・・・ routeフォルダ自体がありません・・・。 .envがないため、 DB_CONNECTION=sqlite など、database.phpに記述しようとしたのですが、その文章通りの記述をしようとするとエラーになってしまうため、行っておりません。 現状、教材に合わせたlaravelをインストールしてやっていたのですが、 大人しくlaravel5.5以降で再度やり直した方が良さそうでしょうか。。 宜しくお願い致します・・・・。
sakamata

2018/11/25 06:26

.env ファイルは環境によって最初無い場合があります。よくあるのが別の環境のリポジトリ等からコピーしてきてる場合等で、通常は .gitignore というリポジトリから除外する設定のファイル状態になっているのでリポジトリに反映されません。 ただ、 .env.example というファイルは存在していると思うので、そのファイルを .env という名前でコピーして中に正しい設定の値を入れると良いかと思います。 route フォルダは正確には routes フォルダでしょうか?それが無いのはちょっとわからないですね。なんともいえませんが、もしかしたら完全な環境ではないかもしれません。5.5の環境を最初からインストールするというのも手でしょうし、バージョン指定をして再度インストールするのも良いかと思います。 laravelでバージョンを指定してインストール https://qiita.com/kkkkk/items/f90fa5a7d4352d0bbc3f
yuyasato0220

2018/11/25 16:38

回答ありがとうございました。 Laravel 5.5をインストールしなおしたら、migrateに成功し、そのまま進めることが出来ました。 ありがとうございます。 問題はmampのmysql上で動かないというかviewがうまくcssなどに対応していなかったりしましたが、php artisan serveでは問題なく動いたので、また別の機会に色々試してみます。 本当にありがとうございます。 terateil初めて使うため、ベストアンサーにするというボタンがお一人にしか見当たらないため、最初に回答頂いた方にさせて頂きますが、 お二人ともにとても感謝しております。 ありがとうございました。また宜しくお願い致します。
sakamata

2018/11/25 16:47

無事解決したようで良かったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問