Heim  >  Fragen und Antworten  >  Hauptteil

Titel umgeschrieben als: PDOException SQLSTATE-Fehler aufgetreten, Datei oder Verzeichnis nicht gefunden

Ich glaube, ich habe meine (sehr einfache) Site erfolgreich auf Fortrabbit bereitgestellt, aber sobald ich mich mit SSH verbinde, um einige Befehle auszuführen (wie php artisan migratephp artisan db:seed), erhalte ich eine Fehlermeldung:

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

Irgendwann muss die Migration funktioniert haben, weil meine Tabellen da sind – aber das erklärt nicht, warum es jetzt bei mir nicht funktioniert.

P粉183077097P粉183077097398 Tage vor607

Antworte allen(2)Ich werde antworten

  • P粉788765679

    P粉7887656792023-10-11 12:04:03

    导致此错误的最简单原因之一是 MySQL 服务器未运行。所以先确认一下。如果它已启动,请继续执行其他建议:

    我遇到了完全相同的问题。上述解决方案都不适合我。我通过将 /app/config/database.php 文件中的“主机”从“localhost”更改为“127.0.0.1”解决了该问题。

    不知道为什么“localhost”默认不起作用,但我在 symfony2 帖子中解决的类似问题中找到了这个答案。 https://stackoverflow.com/a/9251924

    更新: 有些人问为什么这个修复有效,所以我对这个主题做了一些研究。正如这篇文章中所述,他们似乎使用不同的连接类型 https://stackoverflow.com/a/9715164

    这里出现的问题是“localhost”使用UNIX套接字,无法在标准目录中找到数据库。然而,“127.0.0.1”使用 TCP(传输控制协议),这本质上意味着它通过计算机上的“本地互联网”运行,在这种情况下比 UNIX 套接字可靠得多。

    Antwort
    0
  • P粉356361722

    P粉3563617222023-10-11 10:29:28

    错误消息表明尝试通过套接字进行 MySQL 连接(不支持)。

    在 Laravel(工匠)的上下文中,您可能想要使用不同/正确的环境。例如:php artisan migrate --env=product(或任何环境)。请参阅此处

    Antwort
    0
  • StornierenAntwort