通过 php artisan 迁移会导致 QueryException

我读过很多关于工匠移民问题的帖子,但不幸的是,没有一个适合我的情况。


因此,我通过 Vagrant 运行 Laravel Homestead,并在 Vagrant VM 中创建了一个新数据库。


在我的 Ubuntu 桌面上,我可以通过 DBeaver 连接到数据库,它会显示数据库。因为我在 Vagrant VM 中运行数据库,所以我通过 192.168.10.10(在 Homestead.yaml 文件中指定)而不是 localhost (127.0.0.1) 连接到它。到目前为止,一切都很好。


我通过运行以下命令创建了一个迁移文件:php artisan make:migration create_todo_table。但是,当我运行时,php artisan migrate出现以下异常错误:


Illuminate\Database\QueryException

Could not find driver (SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations and table_type = 'BASE TABLE')

我的文件中有关数据库的数据.env如下:


DB_CONNECTION=mysql

DB_HOST=192.168.10.10

DB_PORT=3306

DB_DATABASE=homestead

DB_USERNAME=homestead

DB_PASSWORD=secret

我尝试通过运行清除缓存,php artisan config:cache但没有成功。


有人可以给我一些见解吗?


慕标琳琳
浏览 95回答 2
2回答

智慧大石

vagrant 中的数据库主机应该是 localhost 或 127.0.0.1,因为项目和数据库都位于 vagrant 内部,但 DBeaver 位于虚拟机外部,因此192.168.10.10对于 DBeaver 来说没问题。DB_HOST=localhost

浮云间

我通过编辑文件解决了这个问题php.ini。对于Windows,我更改;extension=php_pdo_mysql为extension=php_pdo_mysql.dll.对于Ubuntu,我将其更改为extension=pdo_mysql.so.之后,我仍然收到错误,指出连接被主动拒绝。我通过更改为解决了这个DB_HOST=localhost问题DB_HOST=192.168.10.10。希望有一天这会对某人有所帮助!
打开App,查看更多内容
随时随地看视频慕课网APP