PDOException SQLSTATE[HY000] [2002] Datei oder Verzeichnis existiert nicht
Lesezeit: 5 Minuten
Daniel Hollands
Ich glaube, dass ich meine (sehr einfache) Site erfolgreich auf Fortrabbit bereitgestellt habe, aber sobald ich mich mit SSH verbinde, um einige Befehle auszuführen (wie z php artisan migrate oder php artisan db:seed) bekomme ich eine Fehlermeldung:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Irgendwann muss die Migration geklappt haben, denn meine Tabellen sind da – aber das erklärt nicht, warum es bei mir jetzt nicht funktioniert.
Mögliches Duplikat von PHP – MySQL-Verbindung funktioniert nicht: 2002 Keine solche Datei oder Verzeichnis
– kenorb
13. November 2015 um 12:20 Uhr
manchmal nur, weil Sie mysql noch nicht installiert haben
– Hassan Gilak
22. April 2016 um 13:28 Uhr
Für mich war es Einstellung 'host' => 'mysql', in config/database.php und kommentieren unix_socket Parameter.
– temo
29. Dezember 2021 um 13:44 Uhr
Die Fehlermeldung zeigt an, dass eine MySQL-Verbindung über Socket versucht wird (was nicht unterstützt wird).
Im Kontext von Laravel (Artisan) möchten Sie wahrscheinlich eine andere / die richtige Umgebung verwenden. Z.B: php artisan migrate --env=production (oder was auch immer Umgebung). Sehen Hier.
Dies war die Lösung für mein Problem, einer der Entwickler in unserer Firma verwendet Homestead nicht und verbindet sich über Socket mit MySQL. Ich habe die Socket-Konfiguration in meiner app/database.php-Datei entfernt. Problem gelöst
– Borislemke
29. Januar 2016 um 6:06 Uhr
Ich musste nur die Erweiterung mysqli.so in php.ini aktivieren
– Mehulkumar
23. April 2017 um 9:42 Uhr
Ich musste “‘unix_socket’ => ‘/Applications/MAMP/tmp/mysql/mysql.sock'” zu config/database.php hinzufügen
– Ángel Carlos del Pozo Muela
31. Januar 2018 um 12:23 Uhr
Hallo Community, ich erhalte diesen Fehler, obwohl ich Laravel nicht verwende. Können Sie sich das Problem hier ansehen, es ist stackoverflow.com/questions/60796332/…
– Kiran Patel
22. März 2020 um 5:57 Uhr
Dies passiert auch, wenn Sie Socket als MySQL-Endpunkt verwenden und der MySQL-Dienst einfach nicht ausgeführt wird.
– Sych
12. Juli 2020 um 15:16 Uhr
Die “direkt zur Ausgabe” Lösung. Danke, das hat mich dazu gebracht, Laravel mit MAMP Pro auszuführen
– animaacija
25. Juni 2015 um 7:38 Uhr
Danke dafür. Das hat bei mir funktioniert. Mit OSX 10.10.5 MAMP Pro
– marknt15
5. November 2015 um 4:45 Uhr
Dies funktionierte bei mir auch mit MAMP pro und OS X 10.11.x. Am Ende war: /Applications/MAMP/tmp/mysql/mysql.sock
– Bort Nummernschild
20. Januar 2016 um 4:47 Uhr
+1. Die Verwendung von „127.0.0.1“ in der Konfiguration anstelle von „localhost“, wie Yamartino in seiner Antwort sagte, funktioniert gut, aber mit einem Socket ist es schneller, und diese Antwort löst das Problem. Es ist eine Schande, dass mysql “localhost” so eigenartig behandelt, wenn unix_socket definiert ist …
– Schautieh
20. Februar 2016 um 6:10 Uhr
@GregFerrell Ja, das stimmt, aber gut … Ich hoffe, es könnte nützlich sein
– alexventuraio
20. Februar 2016 um 6:37 Uhr
Ich bin auf die gestoßen [PDOException] SQLSTATE[HY000] [2002] No such file or directory Fehler aus einem anderen Grund. Ich hatte gerade einen brandneuen LAMP-Stack auf Ubuntu 12.04 mit Apache 2.4.7, PHP v5.5.10 und MySQL 5.6.16 erstellt. Ich habe meine Seiten wieder umgezogen und sie hochgefahren. Aber ich konnte meine auf Laravel 4.2.x basierende Seite wegen dem nicht laden [PDOException] Oben. Also, ich habe es überprüft php -i | grep pdo und bemerkte diese Zeile:
Dies war der Fix, der für mich funktionierte, das Problem war, dass ich zwei Versionen von MySQL installiert und eine entfernt habe, die Änderung von 127.0.0.1 funktionierte nicht oder das Hinzufügen der Socke in der Konfiguration, danke! @dcarrith
– Luis
27. Oktober 2015 um 2:32 Uhr
Dies hat mir geholfen, mein Problem zu finden – das war, dass ich OSX-gebündeltes PHP verwendet habe, nicht die MAMP-PHP-Binärdatei. Stellen Sie also sicher, dass Sie die richtige PHP-Version verwenden, die auf die richtige php.ini usw. verweist. Eindeutiges “doh!” Moment.
– libellenartig
5. April 2016 um 18:43 Uhr
stuyam
Die Antwort von @stuyam löste das Problem “Keine solche Datei oder kein solches Verzeichnis” für mich
Kurze Antwort: Ändere “host” in der Datei /app/config/database.php von “localhost” auf “127.0.0.1”
Aber dann hatte ich einen Fehler “Verbindung abgelehnt”. Wenn jemand das gleiche Problem hatte, bestand meine Lösung dafür darin, die Datei app/config/local/database.php so zu aktualisieren, dass der Port 8889 lautet:
Dies war der Fix, der für mich funktionierte, das Problem war, dass ich zwei Versionen von MySQL installiert und eine entfernt habe, die Änderung von 127.0.0.1 funktionierte nicht oder das Hinzufügen der Socke in der Konfiguration, danke! @dcarrith
– Luis
27. Oktober 2015 um 2:32 Uhr
Dies hat mir geholfen, mein Problem zu finden – das war, dass ich OSX-gebündeltes PHP verwendet habe, nicht die MAMP-PHP-Binärdatei. Stellen Sie also sicher, dass Sie die richtige PHP-Version verwenden, die auf die richtige php.ini usw. verweist. Eindeutiges “doh!” Moment.
– libellenartig
5. April 2016 um 18:43 Uhr
Koeno
Wenn Sie Laravel Homestead verwenden, stellen Sie sicher, dass Sie die Befehle auf dem Server aufrufen.
homestead ssh
Dann einfach in das richtige Verzeichnis cd und dort deinen Befehl abfeuern.
Das hat funktioniert, ich habe zuerst den Befehl von meinem Computer anstelle von ssh in die VM ausgeführt und dort den Befehl ausgeführt.
– cmac
21. Dezember 2016 um 16:00 Uhr
Diesen Schritt vergesse ich immer. Heh. 1. source ~/.zshrc 2. homestead up --provision 3. homestead ssh
– Marcel Gruber
9. Februar 2017 um 2:58 Uhr
vagrant ssh in meinem Fall
– Marcos Curvello
18. Oktober 2018 um 15:54 Uhr
9899100cookie-checkPDOException SQLSTATE[HY000] [2002] Datei oder Verzeichnis existiert nichtyes
Mögliches Duplikat von PHP – MySQL-Verbindung funktioniert nicht: 2002 Keine solche Datei oder Verzeichnis
– kenorb
13. November 2015 um 12:20 Uhr
manchmal nur, weil Sie mysql noch nicht installiert haben
– Hassan Gilak
22. April 2016 um 13:28 Uhr
Für mich war es Einstellung
'host' => 'mysql',
inconfig/database.php
und kommentierenunix_socket
Parameter.– temo
29. Dezember 2021 um 13:44 Uhr