PDOException SQLSTATE[HY000] [2002] 尝试迁移时没有这样的文件或目录

PDOException SQLSTATE[HY000] [2002] No such file or directory when trying to migrate

这个问题已经被问过很多次了,但我似乎还是无法解决这个问题。

我正在尝试将我刚刚使用 laravel 创建的迁移迁移到我新创建的数据库。但是,每次我输入 php artisan migrate 我都会收到上述错误

PDOException SQLSTATE[HY000] [2002] No such file or directory

我所做的如下:

创建数据库和数据库用户

CREATE DATABASE openletter CHARACTER SET utf8;
CREATE USER 'openletter'@'%' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON openletter.* TO 'openletter'@'%';

将这些配置添加到 .env

DB_HOST=localhost
DB_DATABASE=openletter
DB_USERNAME=openletter
DB_PASSWORD=secret

创建迁移

php artisan make:migration create_letters_table --create=letters

正在迁移迁移

php artisan migrate

然后,上面列出的错误就来了。

我试过的

重新启动 MySQL 服务:vagrant ssh && sudo service mysqld restart
正在重新加载 Homestead/Vagrant:vagrant reload --provision
config/database.php

中设置数据库配置

许多人告诉其他人 link mysql 套接字,但那些人引用的是 MAMP 或 XAMPP 或其他。别的。然而,我正在使用 Homestead

还有什么问题?

好的,我解决了这个问题。我是个白痴,应该感到羞耻。它不起作用的原因是因为我不在我的流浪机器中。

在完成 vagrant ssh 导航到我的项目 cd work/OpenLetter 并执行 php artisan migrate 之后,它当然有效。