我相信我已经成功地部署了我的(非常基本的)网站到fortrabbit,但只要我连接到SSH运行一些命令(如php artisan migrate或php artisan db:seed),我得到一个错误消息:

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

在某种程度上,迁移一定是有效的,因为我的表在那里——但这并不能解释为什么它现在不适合我。


当前回答

所有这些答案似乎都很沉重……

我刚刚创建了一个。env文件;编辑我的bootstrap/app.php文件,并取消注释下面的行…

(__DIR Dotenv:负载 __.'/../');

希望这对大家有所帮助

其他回答

我在使用docker容器运行应用程序时遇到了这个问题。

解决方案是把我正在使用的MySQL服务容器的名称放在docker_compose中。DB_HOST. yml。在我的例子中,它是db:

DB_HOST=db

希望能有所帮助。

在可能的情况下,我只是简单地使用

vagrant up

而不是

homestead up

为了我的熔炉幼虫装置。我假设这意味着站点正在得到服务,但MySQL服务器从未启动过。当我使用后一个命令启动我的流浪者盒子时,错误消失了。

我只是在。env文件中做了一个更改

我有如下一行代码。

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=

修改主机名localhost为127.0.0.1

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=

这是在我的情况下工作,因为它不能找到任何主机名,如localhost

并在更改主机名后编写以下命令

php artisan config:clear
php artisan migrate:install
php artisan migrate

这发生在我身上是因为MySQL没有运行。MySQL无法启动,因为我丢失了/usr/local/etc/my.cnf.d/目录。

这是我的/usr/local/etc/my.cnf配置文件作为glob include(包括/usr/local/etc/my.cnf.d/*.cnf)所要求的。

运行mkdir /usr/local/etc/my.cnf.d,然后启动MySQL,解决了这个问题。

尝试连接到本地主机:

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

尝试连接127.0.0.1:

SQLSTATE[HY000] [2002] Connection refused

好的,只需在my.cnf (OS X 10.5: /opt/local/etc/mysqlxx/my.cnf)中注释/删除以下设置即可获得:

[mysqld]
# skip-networking

当然,停止和启动MySQL服务器。