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

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

What I tried

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

中的数据库配置

很多人告诉别人链接mysql套接字,但那些人引用的是MAMP或XAMPP或其他东西。然而,我使用Homestead

还有什么问题呢?

好了,伙计们,我修复了这个问题。我是个白痴,应该感到羞耻。它不工作的原因,是因为我不在我的流浪机器。

在做vagrant ssh导航到我的项目cd work/OpenLetter和做php artisan migrate之后,它当然工作了。