猿问

数据库(database/db_intranet.sqlite)不存在

我通过将 .env 中的数据库块替换为以下内容,成功迁移并播种了 sqlite 数据库(位于数据库目录中)


DB_CONNECTION=sqlite

DB_DATABASE=database/db_intranet.sqlite

但是,当我想从模型对数据库进行任何操作时,我会收到此错误


Illuminate\Database\QueryException

Database (database/db_intranet.sqlite) does not exist.

通过将块更改为此来解决


DB_CONNECTION=sqlite

DB_DATABASE=../database/db_intranet.sqlite

我的问题是,为什么?我该怎么做才能不必不断更改 .env 文件来使用数据库?


德玛西亚99
浏览 124回答 2
2回答

Smart猫小萌

变化中database.php :'database' => env('DB_DATABASE', database_path('db_intranet.sqlite')),到:'database' => database_path('db_intranet.sqlite'),您需要在.env文件中使用绝对路径,而不是相对路径,如下所示:DB_DATABASE=/var/www/project/database/db_intranet.sqlite在 Windows 上,例如:DB_DATABASE=C:\www\project\database\db_intranet.sqlite更改后,运行php artisan config:clear 和php artisan cache:clear然后提供服务。

忽然笑

您必须在 .env 文件中使用相对路径DB_DATABASE=/var/www/project/database/db_intranet.sqlite如果您使用的是 Ubuntu 操作系统。如果你使用的是windows系统那么你可以使用DB_DATABASE=C:\www\project\database\db_intranet.sqlite你config/database.php可以使用'database' => env('DB_DATABASE', database_path('db_intranet.sqlite')),
随时随地看视频慕课网APP
我要回答