Laravel项目登录Filament时提示SQLite数据库文件不存在求助
问题描述
在Windows子系统Ubuntu环境中克隆GitLab上的Laravel项目,已创建数据库Schema并安装Filament面板,执行命令:
php artisan make:filament-user
创建管理员用户后,登录Filament面板时收到错误提示:
Database file at path [./database/database.sqlite] does not exist. Ensure this is an absolute path to the database.
相关配置文件内容如下:
.env 文件
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:wBRsBCpS5bzoOA06ye1EIlPeQ8au9is1j3+XNNSj/j4= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=sqlite DB_DATABASE=./database/database.sqlite DB_FOREIGN_KEYS=true
.env.example 文件
APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=slite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
.env.save 文件
PP_NAME=Laravel APP_ENV=local APP_KEY=base64:rxPvNOP34FnNUSw1s9k2+uXvGvQ8Q5Z5YZiTrnfUFwY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
database.php 配置片段
'default' => env('DB_CONNECTION', 'sqlite'), 'sqlite' => [ 'driver' => 'sqlite', 'url' => env('DATABASE_URL'), 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), ],
解决方案
1. 确认并创建SQLite数据库文件
先检查项目根目录下的database文件夹是否存在database.sqlite文件,若没有则手动创建:
touch database/database.sqlite
2. 修正.env中的数据库路径
当前.env里的相对路径在WSL环境下可能解析异常,推荐以下两种修改方式:
- 方式一:留空让配置文件默认值生效
修改.env中该行:
此时DB_DATABASE=database.php会自动使用database_path('database.sqlite')指向正确路径。 - 方式二:使用绝对路径
替换为项目的实际绝对路径,例如:DB_DATABASE=/home/your-username/your-project/database/database.sqlite
3. 清除配置缓存
修改配置后需清除缓存确保生效:
php artisan config:clear
4. 补充权限与迁移检查
- 确保
database文件夹有读写权限:chmod -R 755 database - 若之前Schema创建不完整,重新执行迁移:
php artisan migrate
内容的提问来源于stack exchange,提问作者Ariton
相关产品推荐
相关产品推荐

