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.
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!