我相信我已经成功地部署了我的(非常基本的)网站到fortrabbit,但只要我连接到SSH运行一些命令(如php artisan migrate或php artisan db:seed),我得到一个错误消息:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
在某种程度上,迁移一定是有效的,因为我的表在那里——但这并不能解释为什么它现在不适合我。
我相信我已经成功地部署了我的(非常基本的)网站到fortrabbit,但只要我连接到SSH运行一些命令(如php artisan migrate或php artisan db:seed),我得到一个错误消息:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
在某种程度上,迁移一定是有效的,因为我的表在那里——但这并不能解释为什么它现在不适合我。
当前回答
检查您的MySQL服务器是否正在运行,如果数据库连接配置正确。
其他回答
在我的情况下,我没有任何问题,只是忘记启动mysql服务…
sudo service mysqld start
这发生在我身上是因为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,解决了这个问题。
所有现有的答案都是正确的,可能对你有用。 我的情况有点不同。我在本地使用docker-compose up启动一个docker项目时遇到了这个错误。
对于我的特定情况,问题是我从子文件夹运行docker-compose,而不是从docker-compose文件所在的根文件夹运行。
确保从docker-compose所在的文件夹中运行docker-compose。Yml保存到!
我在MAMP Pro上运行,在尝试迁移(创建db表)时遇到了类似的问题。我也尝试了上面提到的一些建议,但对我来说并不奏效。
因此,简单地(在谷歌了一个小时后),我向/config/database.php添加了两个东西。
'port' => '1234',
'unix_socket' => '/path/to/my/socket/mysqld.sock'
现在工作很好!
检查您的MySQL服务器是否正在运行,如果数据库连接配置正确。