Cómo hacer que SQLite funcione en Laravel

Cada vez que corrophp artisan migrate, se muestra el siguiente error en la consola:

[PDOException]
SQLSTATE [HY000] [14] no puede abrir el archivo de base de datos

losdatabase.sqlite el archivo se encuentra enbase de datos/. Estoy corriendoWindows 10, Laravel 5.2. Aquí está.env config de archivo:

.env:
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=homestead
DB_PASSWORD=secret

He buscado en todas partes, pero no pude encontrar qué causa este error y cómo resolverlo.

Actualizar

Logré hacer que las migraciones se ejecuten con éxito reemplazandoDB_DATABASE=database conDB_DATABASE=database/database.sqlite en.env archivo. Sin embargo, se produce un nuevo error cada vez que intento recuperar elementos de la base de datos:

public function index()
{
    // cause of the error
    $cards = Card::all();

    return view('cards.index', compact('cards'));
}

La acción anterior arroja el siguiente error:

InvalidArgumentException en SQLiteConnector.php línea 34:
La base de datos (database / database.sqlite) no existe.

Lo extraño es que el comandoCard::all() funciona perfectamente enphp artisan tinker modo. ¿Qué tipo de magia es esa?

De todos modos, también descubrí que la línea:

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

endatabase.php archivo debe ser reemplazado con solodatabase_path('database.sqlite') ytodo comienza a funcionar normalmente.

Parece que la raíz del problema esenv('DB_DATABASE') llamada. fui aSQLiteConnector.php archivo y volcó la salida de ambosenv('DB_DATABASE') ydatabase_path('database.sqlite'). Aquí están sus salidas respectivamente:

dd(env('DB_DATABASE'))               // => 'database/database.sqlite'
dd(database_path('database.sqlite')) // => 'D:\www\project\database\database.sqlite'

Como puede ver, su salida difiere, y la segunda es la que se espera. ¿Es esto un error de Laravel? ¿O entendí mal algo?

Respuestas a la pregunta(7)

Su respuesta a la pregunta