Laravel - php artisan migrate - SQLSTATE[HY000] [14] 无法打开数据库文件

Posted

技术标签:

【中文标题】Laravel - php artisan migrate - SQLSTATE[HY000] [14] 无法打开数据库文件【英文标题】:Laravel - php artisan migrate - SQLSTATE[HY000] [14] unable to open database file 【发布时间】:2018-07-23 11:51:46 【问题描述】:

我有问题。 我从 Git 中提取了一个 Laravel 项目,但无法使用“php artisan migrate”命令迁移表。 错误信息:

在 Connection.php 第 664 行:SQLSTATE[HY000] [14] 无法打开 数据库文件 (SQL: select * from sqlit e_master where type = 'table' 和名称 = 迁移)

在 Connector.php 第 67 行:SQLSTATE[HY000] [14] 无法打开数据库 文件”

我的 .env 文件:

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

我的 .env.dusk.local 文件:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ot-admin-dusk
DB_USERNAME=root
DB_PASSWORD=

当然,我在 Sequel pro 中创建了数据库。

谢谢,

【问题讨论】:

将 .env.dusk.local 连接配置复制到 .env。看看它是否有效 尝试删除 .env 文件中的 DB_DATABASE=database 变量或将 DB_CONNECTION 值更改为 mysql 而不是 sqlite 检查你的用户是否有权限进入这个数据库 我认为你使用了 config:cache ... run php artisan config:clear 【参考方案1】:

如果您尝试使用 sqlite,请从 .env 文件中删除 DB_HOSTDB_DATABASE 键。 现在创建storage/database.sqlite 并为其授予相关权限。

【讨论】:

以上是关于Laravel - php artisan migrate - SQLSTATE[HY000] [14] 无法打开数据库文件的主要内容,如果未能解决你的问题,请参考以下文章

php Laravel Artisan迁移实例

php Laravel Artisan Migrate创建领域

无法 php artisan 迁移 - Laravel

laravel 自动删除 php artisan serve 上的 server.php

如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器

Laravel php artisan 产生错误