Rumah  >  Soal Jawab  >  teks badan

PDOException SQLSTATE Fail atau direktori tidak wujud

<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粉038161873P粉038161873435 hari yang lalu585

membalas semua(2)saya akan balas

  • P粉731977554

    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.

    balas
    0
  • P粉148434742

    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.

    balas
    0
  • Batalbalas