通过php artisan进行迁移会导致QueryException

时间:2020-06-30 22:33:51

标签: php mysql laravel vagrant homestead

我已经阅读了很多有关工匠移民问题的帖子,但不幸的是,这些帖子都不适合我的情况。

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

在我的Ubuntu桌面上,我可以通过DBeaver连接到数据库,它显示了数据库。因为我是在Vagrant VM中运行数据库,所以我通过192.168.10.10(在Homestead.yaml文件中指定)而不是本地主机(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来清除缓存,但是没有运气。

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

2 个答案:

答案 0 :(得分:0)

您的流浪者内部的数据库主机应该是localhost或127.0.0.1,因为项目和数据库都在流浪者内部,但是DBeaver在vm外部,所以192.168.10.10对于DBeaver来说还可以。

DB_HOST=localhost

答案 1 :(得分:0)

我通过编辑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来解决此问题。

希望有一天能对某人有所帮助!