Mysql
 sql >> база данни >  >> RDS >> Mysql

PDOException SQLSTATE[HY000] [2002] Няма такъв файл или директория

Laravel 4: Променете "хост" в app/config/database.php файл от "localhost" на "127.0.0.1"

Laravel 5+: Променете "DB_HOST" в .env файл от "localhost" на "127.0.0.1"

Имах точно същия проблем. Нито едно от горните решения не работи за мен. Реших проблема, като промених "хост" във файла /app/config/database.php от "localhost" на "127.0.0.1".

Не съм сигурен защо "localhost" не работи по подразбиране, но намерих този отговор в подобен въпрос, решен в публикация на symfony2. https://stackoverflow.com/a/9251924/1231563

Актуализация: Някои хора попитаха защо тази корекция работи, така че направих малко проучване по темата. Изглежда, че използват различни типове връзки, както е обяснено в тази публикация https://stackoverflow.com/a /9715164/1231563

Проблемът, който възникна тук, е, че "localhost" използва UNIX сокет и не може да намери базата данни в стандартната директория. Въпреки това "127.0.0.1" използва TCP (Transmission Control Protocol), което по същество означава, че преминава през "локалния интернет" на вашия компютър и е много по-надежден от 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. TRIGGERS, които причиняват неуспех на INSERT? Възможен?

  2. MySQL еквивалент на функцията DECODE в Oracle

  3. MySQL в облака - онлайн миграция от Amazon RDS към вашия собствен сървър:Част 2

  4. Как да поправите MySQL база данни в cPanel

  5. ПРИ ДУБЛИРАНЕ НА КЛЮЧ + АВТОМАТИЧНО НАРАЩАНЕ проблем mysql