PDOException SQLSTATE Die Datei oder das Verzeichnis existiert nicht
P粉038161873
P粉038161873 2023-08-10 17:44:11
0
2
538
<p> Ich glaube, ich habe meine (sehr einfache) Website erfolgreich auf Fortrabbit bereitgestellt, aber sobald ich mich mit SSH verbinde, führe ich einige Befehle wie <code>php artisan migrate</code> oder <code>php artisan db:seed< aus ;/code>), erhalte ich eine Fehlermeldung: </p> <pre class="brush:php;toolbar:false;">[PDOException] SQLSTATE[HY000] [2002] Keine solche Datei oder kein solches Verzeichnis</pre> <p>Irgendwann muss die Migration erfolgreich gewesen sein, weil meine Tabellen vorhanden sind – aber das erklärt nicht, warum es jetzt bei mir nicht funktioniert. </p>
P粉038161873
P粉038161873

Antworte allen(2)
P粉731977554

这个错误的最简单原因之一是MySQL服务器没有运行。所以首先要进行验证。如果它正在运行,请继续其他建议:

我遇到了完全相同的问题。以上解决方案都对我无效。我通过将/app/config/database.php文件中的"host"从"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套接字更可靠。

P粉148434742

错误信息表明尝试通过套接字建立MySQL连接(这是不支持的)。

在Laravel(artisan)的上下文中,您可能希望使用不同的/正确的环境。例如:php artisan migrate --env=production(或任何其他环境)。请参见这里

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!