Menyambung ke Pangkalan Data MySQL melalui Terminal: Betulkan untuk Ralat "Tiada fail atau direktori sedemikian"
"Amaran: mysql_connect(): [ 2002] Tiada fail atau direktori sedemikian (cuba menyambung melalui unix:///tmp/mysql.sock) dalam" ralat berlaku apabila skrip PHP cuba mewujudkan sambungan ke pangkalan data MySQL melalui terminal tetapi tidak dapat mengesan fail soket.
Untuk menyelesaikan isu ini, masalahnya terletak pada lokasi fail soket. Pada macOS, MySQL mungkin mempunyai konfigurasi yang salah untuk laluan fail soket. Begini cara untuk membetulkannya:
Langkah 1: Tentukan Lokasi Fail Soket
Gunakan arahan berikut untuk menyemak lokasi fail soket:
ls -l /tmp/mysql.sock /var/mysql/mysql.sock
Langkah 2: Buat Simbolik Pautan
Bergantung pada lokasi fail soket sedia ada, buat pautan simbolik menggunakan salah satu daripada arahan berikut:
Jika anda mempunyai /tmp/mysql.sock tetapi tiada /var/mysql/mysql.sock
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
Jika anda mempunyai /var/mysql/mysql.sock tetapi tiada /tmp/mysql.sock
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Langkah 3: Jalankan Skrip
Selepas mencipta simbolik pautan, jalankan skrip PHP anda menggunakan arahan berikut:
php scriptname.php
Ini kini sepatutnya berjaya menyambung ke pangkalan data MySQL. Ambil perhatian bahawa anda mungkin perlu melaraskan laluan fail dalam skrip PHP anda untuk menunjuk ke lokasi fail soket yang betul.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Tiada fail atau direktori sedemikian' Apabila Menyambung ke MySQL melalui Terminal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!