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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Laravel 5

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

Q&A

解決済

3回答

10829閲覧

Laravelで、SQLiteを使いたい

nnahito

総合スコア2004

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Laravel 5

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

0グッド

1クリップ

投稿2017/07/25 14:36

はじめに

数時間前にLaravelを触りはじめました。
全くの初心者です。

環境

Widnows10
多分PHP7(XAMPPで入れたやつ。サーバはLaravelのものを利用)
Laravel 多分5.4(composerで入れました。何が入ったかいまいちわかっていません)

やりたいこと

LaravelでSQLiteを使いたい。

参考にしたサイトさま

http://libro.tuyano.com/index2?id=3766003

詳細

参考にしたサイト様だと、若干情報が古いようで、色々ググりながら作業しております。

参考にしたサイト様のDB接続の項目で、SQLite3を使えるとのことで早速設定しようとしているのですが、
どうもDBにアクセス出来ないようです。

イメージ説明

configフォルダの、database.phpは以下のように設定しております。
なお、databaseファイルは、
/database/database.sqliteです。

php

1<?php 2 3return [ 4 'default' => env('DB_CONNECTION', 'sqlite'), 5 6 'connections' => [ 7 8 'sqlite' => [ 9 'driver' => 'sqlite', 10 'database' => env('DB_DATABASE', database_path(__DIR__.'/../database/database.sqlite')), 11 'prefix' => '', 12 ], 13 14 'mysql' => [ 15 'driver' => 'mysql', 16 'host' => env('DB_HOST', '127.0.0.1'), 17 'port' => env('DB_PORT', '3306'), 18 'database' => env('DB_DATABASE', 'forge'), 19 'username' => env('DB_USERNAME', 'forge'), 20 'password' => env('DB_PASSWORD', ''), 21 'unix_socket' => env('DB_SOCKET', ''), 22 'charset' => 'utf8mb4', 23 'collation' => 'utf8mb4_unicode_ci', 24 'prefix' => '', 25 'strict' => true, 26 'engine' => null, 27 ], 28 29 'pgsql' => [ 30 'driver' => 'pgsql', 31 'host' => env('DB_HOST', '127.0.0.1'), 32 'port' => env('DB_PORT', '5432'), 33 'database' => env('DB_DATABASE', 'forge'), 34 'username' => env('DB_USERNAME', 'forge'), 35 'password' => env('DB_PASSWORD', ''), 36 'charset' => 'utf8', 37 'prefix' => '', 38 'schema' => 'public', 39 'sslmode' => 'prefer', 40 ], 41 42 'sqlsrv' => [ 43 'driver' => 'sqlsrv', 44 'host' => env('DB_HOST', '127.0.0.1'), 45 'port' => env('DB_PORT', '1433'), 46 'database' => env('DB_DATABASE', 'forge'), 47 'username' => env('DB_USERNAME', 'forge'), 48 'password' => env('DB_PASSWORD', ''), 49 'charset' => 'utf8', 50 'prefix' => '', 51 ], 52 53 ], 54 55 'migrations' => 'migrations', 56 57 'redis' => [ 58 59 'client' => 'predis', 60 61 'default' => [ 62 'host' => env('REDIS_HOST', '127.0.0.1'), 63 'password' => env('REDIS_PASSWORD', null), 64 'port' => env('REDIS_PORT', 6379), 65 'database' => 0, 66 ], 67 68 ], 69 70]; 71

ドキュメント的には、これで正しいと書いてあるように思えるのですが(英語苦手)、
何故dose not existなのでしょうか?

ご存じの方がいらっしゃいましたら、ご教示いただけると幸いです。
……学習コストが高いぜ……

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

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

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

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

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

guest

回答3

0

ベストアンサー

まず、はじめに

.envファイルを修正します。基本的にconfig/database.phpはconnectionを追加したりするときにしか編集しません。

DB_CONNECTION=sqlite に変更します。 DB_DATABASE=homesteadを一旦消しておきます

kawaxさんの言うとおり、databaseのデフォルト値が違うので変えてください。

database.sqliteファイルが必要なので、
database/database.sqliteを新しく空で作っておきます。

php artisan migrateを実行します。

初期ではusersテーブルとpassword_resetsテーブルしかありません。
MyTableテーブルを作るマイグレーションを書いていますか?

投稿2017/07/25 15:50

編集2017/07/25 15:52
fagai

総合スコア2158

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

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

nnahito

2017/07/25 16:22

ご回答ありがとうございます。 マイグレーションとは何でしょうか?
fagai

2017/07/25 16:31 編集

簡単に言ってしまえばテーブルの作成をする処理、削除する処理をコード化したものですね。今まではSQLファイルをそのまま管理するというのが普通にあったのですが、管理しにくいのでマイグレーションというファイルを作ってコード化することで管理しやすくしたのです。 書き方や作り方はドキュメントを読んで下さい・・・ こちらに日本語訳をしてくださってる方のドキュメントがあります。 https://readouble.com/
guest

0

ここの設定がデフォルトと違うので変えてみてください。

'database' => env('DB_DATABASE', database_path('database.sqlite')),

一応書いておくと
・Laravelのローカル開発ならhomestead使ってMySQL使ったほうがいいです。
・読むべきは公式ドキュメントのみ。https://readouble.com/laravel/

投稿2017/07/25 15:37

kawax

総合スコア10377

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

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

nnahito

2017/07/25 16:21

ご回答ありがとうございます。 homesteadとは何でしょうか?
guest

0

sqliteはファイルベースのデータベースで、データベース用に使うファイルを開こうとしても無かったというエラーです。
Laravelでsqliteを使うにはまず空のファイルをつくっておく必要があるのでLaravelプロジェクト下のdatabase/database.sqlite 空のファイルを作成してください
Mac及びLinuxではtouch database/database.sqlite でファイルを作成できますが、Windowsも同等の空ファイル作成コマンド等で作成できるかと思います。

投稿2017/07/25 15:36

aro10

総合スコア4106

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

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

nnahito

2017/07/25 16:24

ご回答ありがとうございます。 DB Browser For SQLiteでファイルを作成しまし、設定を書き換えてみましたが、やはり同様のエラーが発生しました……
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問