Rumah  >  Artikel  >  pangkalan data  >  Mengapa saya mendapat ralat \"Tiada fail atau direktori sedemikian\" semasa menyambung ke MySQL melalui PDO?

Mengapa saya mendapat ralat \"Tiada fail atau direktori sedemikian\" semasa menyambung ke MySQL melalui PDO?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 18:17:31553semak imbas

Why am I getting

Ralat: "Tiada fail atau direktori sedemikian" Semasa Menyambung ke MySQL melalui PDO

Anda mungkin menghadapi ralat berikut semasa cuba menyambung ke pangkalan data MySQL menggunakan PDO:

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in ...

Ralat ini berlaku apabila PDO cuba menyambung ke MySQL melalui soket Unix, tetapi kod anda dikonfigurasikan untuk sambungan TCP/IP.

Resolusi

Anda boleh selesaikan isu ini dengan menentukan parameter sambungan yang betul dalam pembina PDO anda. Daripada menggunakan "localhost" sebagai nama hos, gunakan "127.0.0.1" untuk menunjukkan sambungan TCP/IP ke mesin setempat.

<code class="php">new PDO('mysql:host=127.0.0.1;port=3306;dbname=test', 'username', 'password');</code>

Jika anda ingin menyambung melalui soket Unix, anda boleh menentukan laluan ke soket seperti itu:

<code class="php">new PDO('mysql:unix_socket=/tmp/mysql.sock;dbname=test', 'username', 'password');</code>

Anda juga boleh mengubah suai konfigurasi pdo_mysql.default_socket dalam fail php.ini anda untuk menetapkan lokasi soket Unix lalai.

Atas ialah kandungan terperinci Mengapa saya mendapat ralat \"Tiada fail atau direktori sedemikian\" semasa menyambung ke MySQL melalui PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn