Rumah > Soal Jawab > teks badan
P粉7319775542023-08-11 00:43:41
Salah satu sebab paling mudah untuk ralat ini ialah pelayan MySQL tidak berjalan. Jadi langkah pertama adalah untuk mengesahkan. Jika ia berfungsi, berikut adalah cadangan lain:
Saya mengalami masalah yang sama. Tiada penyelesaian di atas berfungsi untuk saya. Saya menyelesaikan masalah dengan menukar "host" dalam fail /app/config/database.php daripada "localhost" kepada "127.0.0.1".
Tidak pasti mengapa "localhost" tidak berfungsi secara lalai, tetapi saya menemui jawapan ini untuk masalah yang sama dan ia telah diselesaikan dalam siaran symfony2. https://stackoverflow.com/a/9251924
Kemas kini: Sesetengah orang bertanya mengapa pembetulan ini berkesan, jadi saya melakukan penyelidikan tentang isu itu. Seperti yang dijelaskan dalam siaran ini, mereka menggunakan jenis sambungan yang berbeza. https://stackoverflow.com/a/9715164
Masalah di sini ialah "localhost" menggunakan soket UNIX dan tidak dapat mencari pangkalan data dalam direktori standard. Walau bagaimanapun, "127.0.0.1" menggunakan TCP (Transmission Control Protocol), yang bermaksud ia berjalan melalui "rangkaian tempatan" pada komputer anda dan lebih dipercayai daripada soket UNIX.
P粉1484347422023-08-11 00:10:06
Mesej ralat menunjukkan percubaan untuk mewujudkan sambungan MySQL melalui soket (yang tidak disokong).
Dalam konteks Laravel (artisan) anda mungkin mahu menggunakan persekitaran yang berbeza/betul. Contohnya: php artisan migrate --env=production
(atau mana-mana persekitaran lain). Lihat di sini.