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.