Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PDOException SQLSTATE[HY000] [2002] Brak takiego pliku lub katalogu

Laravel 4: Zmień "host" w app/config/database.php plik z „localhost” do „127.0.0.1”

Laravel 5+: Zmień „DB_HOST” w .env plik z „localhost” do „127.0.0.1”

Miałem dokładnie ten sam problem. Żadne z powyższych rozwiązań nie zadziałało dla mnie. Problem rozwiązałem, zmieniając „host” w pliku /app/config/database.php z „localhost” na „127.0.0.1”.

Nie jestem pewien, dlaczego "localhost" domyślnie nie działa, ale znalazłem tę odpowiedź w podobnym pytaniu rozwiązanym w poście symfony2. https://stackoverflow.com/a/9251924/1231563

Aktualizacja: Niektórzy pytali, dlaczego ta poprawka działa, więc przeprowadziłem trochę badań w tym temacie. Wygląda na to, że używają różnych typów połączeń, jak wyjaśniono w tym poście https://stackoverflow.com/a /9715164/1231563

Problem, który się tutaj pojawił, polega na tym, że „localhost” używa gniazda UNIX i nie może znaleźć bazy danych w standardowym katalogu. Jednak „127.0.0.1” używa protokołu TCP (Transmission Control Protocol), co zasadniczo oznacza, że ​​działa przez „lokalny Internet” na twoim komputerze, będąc w tym przypadku znacznie bardziej niezawodnym niż gniazdo UNIX.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Twórz fizyczne kopie zapasowe baz danych MariaDB lub MySQL

  2. Wybierz bazę danych MySQL w systemie Linux za pomocą wiersza poleceń

  3. Połącz Javę z bazą danych MySQL

  4. Korzystanie z paszportu z Sequelize i MySQL

  5. Policzyć liczbę wystąpień ciągu w polu VARCHAR?