我在laravel 5.2中遇到这种情况,如果我这样做:
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=
DB_DATABASE=database/database.sqlite
DB_USERNAME=
DB_PASSWORD=
在
.env
文件中,我得到以下信息:SQLiteConnector.php第34行中的InvalidArgumentException:
数据库(database / database.sqlite)不存在。
尝试使用来自控制器的以下代码来操纵
laravel
错误呈现系统:<?php
namespace App\Http\Controllers;
use App\User;
class SampleController extends Controller
{
public function findUser()
{
$user = User::firstOrFail();
return $user->toArray();
}
}
这与
php artisan migrate
命令配合得很好,但是要获取controller
代码以按预期方式呈现错误,我必须这样做:DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=
DB_DATABASE=../database/database.sqlite
DB_USERNAME=
DB_PASSWORD=
要解决此问题,以便同时使
php artisan migrate
和SampleController
正常工作,请将其放在config/database.php
文件中:'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
],
为什么
default
不能访问laravel website上给出的sqlite
。这是我应该注意的错误吗? 最佳答案
config.php
文件中的正常配置应该是
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
],
此外,在
DB_DATABASE
文件中提及.env
的适当方法是指定绝对文件名,例如/var/www/laravel/database/database.sqlite
而不是相对位置。例如,在
Windows
中DB_DATABASE=C:\wamp\www\laravel\database\database.sqlite
这就是Laravel Documentation中提到的内容
DB_DATABASE=/absolute/path/to/database.sqlite
关于php - laravel 5.2 sqlite连接错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38803973/