Ralat: Tidak Dapat Mewujudkan Sambungan MySQL melalui Soket Unix
Setelah cuba menyambung ke pangkalan data MySQL anda melalui Terminal pada Mac anda menggunakan PHP , anda menghadapi ralat berikut:
Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in
Ralat ini menunjukkan isu dengan fail soket MySQL, iaitu digunakan untuk sambungan berasaskan UNIX ke pangkalan data.
Penyelesaian: Cipta Pautan Simbolik
Punca isu ini ialah percanggahan dalam lokasi fail soket pada macOS . Untuk menyelesaikannya, anda perlu membuat pautan simbolik, iaitu fail yang menunjuk ke fail lain. Ini akan membolehkan Mac anda mencari fail soket yang diperlukan walaupun ia mencari di tempat yang salah.
Langkah:
Semak Lokasi Fail Soket
Gunakan arahan berikut untuk menentukan lokasi soket fail:
ls -l /tmp/mysql.sock /var/mysql/mysql.sock
Buat Pautan Simbolik
Bergantung pada lokasi fail soket, anda perlu mencipta pautan simbolik seperti berikut:
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Nota: Anda mungkin perlu menggunakan sudo sebelum arahan untuk mendapatkan kebenaran yang mencukupi.
Atas ialah kandungan terperinci Mengapa sambungan PHP MySQL saya gagal dengan 'Tiada fail atau direktori sedemikian' dan bagaimana saya boleh membetulkannya menggunakan pautan simbolik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!