Rumah >pangkalan data >tutorial mysql >Mengapa sambungan PHP MySQL saya gagal dalam terminal dengan ralat 'Tiada fail atau direktori sedemikian', tetapi berfungsi dalam penyemak imbas?

Mengapa sambungan PHP MySQL saya gagal dalam terminal dengan ralat 'Tiada fail atau direktori sedemikian', tetapi berfungsi dalam penyemak imbas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 11:42:11694semak imbas

Why is my PHP MySQL connection failing in the terminal with a

Sambungan ke MySQL DB Gagal dalam Terminal dengan Ralat "Tiada fail atau direktori sedemikian"

Apabila cuba mewujudkan sambungan ke MySQL melalui Terminal pada peranti Apple menggunakan skrip PHP yang disediakan, pengguna mungkin menghadapi ralat "mysql_connect(): [2002] Tiada fail atau direktori sedemikian (cuba untuk sambung melalui unix:///tmp/mysql.sock)". Isu ini timbul walaupun skrip berfungsi dengan betul apabila digunakan melalui penyemak imbas.

Penyelesaian

Masalah asas berpunca daripada macOS yang salah mengenal pasti lokasi fail soket yang diperlukan. Untuk membetulkannya, ikuti langkah berikut:

  1. Tentukan lokasi fail soket menggunakan arahan:
ls -l /tmp/mysql.sock /var/mysql/mysql.sock
  1. Buat pautan simbolik kepada soket fail di lokasi di mana aplikasi sedang mencari.

Jika /tmp/mysql.sock wujud:

cd /var
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Jika /var/mysql/mysql.sock wujud:

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock
  1. Jika perlu, berikan kebenaran untuk mencipta direktori dan pautan dengan memberi awalan pada arahan dengan "sudo".

Setelah pautan simbolik diwujudkan, sambungan ke pangkalan data MySQL harus berjaya diwujudkan.

Atas ialah kandungan terperinci Mengapa sambungan PHP MySQL saya gagal dalam terminal dengan ralat 'Tiada fail atau direktori sedemikian', tetapi berfungsi dalam penyemak imbas?. 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