PDOException SQLSTATE Fail atau direktori tidak wujud
P粉038161873
P粉038161873 2023-08-10 17:44:11
0
2
651
<p> Saya percaya saya telah berjaya menggunakan tapak web saya (sangat asas) untuk fortrabbit, tetapi sebaik sahaja saya menyambung ke SSH, jalankan beberapa arahan seperti <code>php artisan migrate</code> atau <code>php artisan db:seed< ;/code>), saya akan menerima mesej ralat: </p> <pre class="brush:php;toolbar:false;">[PDOException] SQLSTATE[HY000] [2002] Tiada fail atau direktori sedemikian</pre> <p>Pada satu ketika, penghijrahan mesti berjaya kerana jadual saya wujud - tetapi itu tidak menjelaskan mengapa ia tidak berfungsi untuk saya sekarang. </p>
P粉038161873
P粉038161873

membalas semua(2)
P粉731977554

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粉148434742

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan