Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PDOException SQLSTATE [HY000] [2002] Không có tệp hoặc thư mục nào như vậy

Cấp độ 4: Thay đổi "máy chủ" trong app/config/database.php tệp từ "localhost" thành "127.0.0.1"

Laravel 5+: Thay đổi "DB_HOST" trong .env tệp từ "localhost" thành "127.0.0.1"

Tôi cũng có chính xác vấn đề đấy. Không có giải pháp nào ở trên phù hợp với tôi. Tôi đã giải quyết sự cố bằng cách thay đổi "máy chủ" trong tệp /app/config/database.php từ "localhost" thành "127.0.0.1".

Không chắc tại sao "localhost" không hoạt động theo mặc định nhưng tôi đã tìm thấy câu trả lời này trong một câu hỏi tương tự được giải quyết trong một bài đăng trên symfony2. https://stackoverflow.com/a/9251924/1231563

Cập nhật: Một số người đã hỏi tại sao bản sửa lỗi này hoạt động vì vậy tôi đã thực hiện một chút nghiên cứu về chủ đề này. Có vẻ như chúng sử dụng các loại kết nối khác nhau như được giải thích trong bài đăng này https://stackoverflow.com/a / 9715164/1231563

Vấn đề nảy sinh ở đây là "localhost" sử dụng ổ cắm UNIX và không thể tìm thấy cơ sở dữ liệu trong thư mục tiêu chuẩn. Tuy nhiên, "127.0.0.1" sử dụng TCP (Giao thức điều khiển truyền), về cơ bản có nghĩa là nó chạy qua "internet cục bộ" trên máy tính của bạn đáng tin cậy hơn nhiều so với ổ cắm UNIX trong trường hợp này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để so khớp mờ email hoặc điện thoại bằng Elasticsearch?

  2. MySQL:ALTER IGNORE TABLE đưa ra vi phạm ràng buộc về tính toàn vẹn

  3. khóa chính hai cột mysql với tự động tăng

  4. Chèn vào nhiều bảng trong một truy vấn

  5. Việc thêm 'LIMIT 1' vào các truy vấn MySQL có làm cho chúng nhanh hơn khi bạn biết rằng sẽ chỉ có 1 kết quả không?