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

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

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


当前回答

在我的例子中,我在我的mac终端上运行php artisan migrate,当我需要ssh进入vagrant并从那里运行它时。希望这能帮助缓解头痛。

其他回答

仔细检查端口。在我的情况下,它是8889,我正在使用8888。 将“DB_HOST”从“localhost”改为“127.0.0.1”,反之亦然

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

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

DB_HOST=db

希望能有所帮助。

尝试连接到本地主机:

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服务器。

我在Elixir/Gulp和Homestead中运行PHPUnit时遇到了这个问题。

在我的例子中,我将.env文件从DB_HOST=localhost编辑为DB_HOST=192.168.10.10,其中192.168.10.10是我的Vagrant/Homestead主机的IP。

检查您的MySQL服务器是否正在运行,如果数据库连接配置正确。