39453


ご閲覧ありがとうございます.

LaravelでSQLiteを使用したいのですが、  
サーバーを起動してデータベースを使用するページに移動すると

> Database (database.sqlite) does not exist.(データベース（database.sqlite）は存在しません。)  
>  と`InvalidArgumentException`が発生してしまいます.

.envの環境変数等のパスを色々と調べて試したのですが上手く動かず...  
どうかご教授の方よろしくお願いいたします.

## database.sqlite階層

`PROJECT\database\database.sqlite`

## .env

[code]

    <<略>>
    
    DB_CONNECTION=sqlite
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=database.sqlite
    DB_USERNAME=homestead
    DB_PASSWORD=secret
    
    <<略>>
    
[/code]

## database.php

[code]

    <<略>>
    
    'default' => env('DB_CONNECTION', 'sqlite'),
    
        'connections' => [
    
            'sqlite' => [
                'driver' => 'sqlite',
                'database' => env('DB_DATABASE', database_path('database.sqlite')),
                'prefix' => '',
            ],
    
    <<略>>
    
[/code]

## HelloController.php

[code]

    <<略>>
    
    use Illuminate\Support\Facades\DB;
    
    class HelloController extends Controller
    {
    
        public function index(Request $request)
        {
            $items = DB::select('select * from people');
            return view('hello.index', ['items' => $items]);
        }
    }
    
[/code]

【keyword】  
\- Windows10(64bit)  
\- PHP 5.6.32 (cli) (built: Oct 25 2017 16:00:49)  
\- Laravel Framework version 4.2.22  
\- sqlite3 -version 3.21.0 2017-10-24 18:55:49
1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827


CC BY-SA 3.0
2017-11-09T03:17:15.587
39441
2017-11-09T07:30:03.900
question
php laravel sqlite
LaravelでSQLiteを使いたい


自己解決しました.

SQLiteはサーバー不要のファイルベースで動作するデータベースであり、  
`.env`から必要の無い`DB_HOST`, `DB_PORT`, `DB_DATABASE`, `DB_USERNAME`,
`DB_PASSWORD`をコメントアウトすることで動作しました.

すると続いて

> [PDOException]  
>  could not find driver

が発生しましたが、こちらは`php.ini`の`extension=php_pdo_sqlite.dll`のコメントアウトを外すことで解決しました.


CC BY-SA 3.0
2017-11-09T07:30:03.900
39453
2017-11-09T07:30:03.900
39441
answer