我在database
文件夹中创建了database.sqlite文件。我的.env
文件内容如下:
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=absolute\path\to\database\database.sqlite
DB_USERNAME=admin
DB_PASSWORD=
当我运行php artisan tinker
和DB::table('users')->get();
时,我从数据库中获取信息。
我的DatabaseController是:
class DatabaseController extends Controller
{
public function main()
{
$users = DB::table('users')->get();
return view('database',compact($users));
}
}
然而,当我请求/database
路径时,我得到了错误:
QueryException in Connection.php line 647: Database (database/database.sqlite) does not exist. (SQL: select * from "users")
更新:临时修复方法是更改config
文件夹中的database.php:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => 'absolute\path\database\database.sqlite',
'prefix' => '',
],
而不是使用返回database/database.sqlite
而不是我的绝对路径的env('DB_DATABASE', database_path('database.sqlite'))
。
发布于 2017-03-31 20:56:19
您需要使用完整路径,如下所示:
DB_DATABASE=/home/laravel-project/database/database.sqlite
发布于 2017-05-29 23:15:31
如果从.env
文件中删除DB_DATABASE=...
并使用config/database.php
中的路径
'database' => env('DB_DATABASE', database_path('database.sqlite')),...
(如果您的database.sqlite
文件在database/
文件夹中),它也可以工作。
发布于 2017-04-01 19:19:14
我运行了以下命令:
php artisan config:cache
php artisan config:clear
php artisan serve
-已重新启动服务器
https://stackoverflow.com/questions/43140711
复制相似问题