Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Sambungan MySQL Saya Gagal dengan 'Tiada Fail atau Direktori Sebegitu' di Terminal?
Menyambung melalui Soket Unix: Menyelesaikan Ralat "Tiada Fail atau Direktori Sebegitu"
Menghadapi ralat "Amaran: mysql_connect(): [2002 ] Tiada fail atau direktori sedemikian (cuba menyambung melalui unix:///tmp/mysql.sock) dalam" apabila cuba menyambung ke pangkalan data MySQL dari Terminal boleh membingungkan. Walaupun skrip mungkin berfungsi dengan baik apabila dilaksanakan daripada penyemak imbas, Terminal menghadapi masalah.
Memahami Isu
Pada macOS, konfigurasi MySQL kadangkala boleh tersilap mengenal pasti lokasi fail soket. Soket mungkin wujud sama ada dalam /tmp/mysql.sock atau /var/mysql/mysql.sock, tetapi aplikasi boleh mencarinya di lokasi yang salah.
Menyelesaikan Ralat
Syukurlah, penyelesaiannya adalah mudah dan melibatkan penyediaan pautan simbolik. Jika /tmp/mysql.sock ada tetapi /var/mysql/mysql.sock tiada, laksanakan arahan berikut:
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
Sebaliknya, jika /var/mysql/mysql.sock wujud tetapi /tmp /mysql.sock tidak, gunakan ini arahan:
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Dengan mencipta pautan simbolik, Mac boleh mencari soket yang diperlukan, tidak kira di lokasi mana ia mencari.
Atas ialah kandungan terperinci Mengapa Sambungan MySQL Saya Gagal dengan 'Tiada Fail atau Direktori Sebegitu' di Terminal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!