嘗試使用PDO 連接到MySQL 資料庫時,您可能會遇到以下錯誤:
Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in ...
當PDO 嘗試透過Unix 套接字連接到MySQL,但您的程式碼配置為TCP/IP 連線時,會發生此錯誤。
您可以透過在 PDO 建構函式中指定正確的連接參數來解決此問題。不要使用「localhost」作為主機名,而是使用「127.0.0.1」來表示與本機的 TCP/IP 連線。
<code class="php">new PDO('mysql:host=127.0.0.1;port=3306;dbname=test', 'username', 'password');</code>
如果要透過Unix 套接字連接,可以指定套接字的路徑如下所示:
<code class="php">new PDO('mysql:unix_socket=/tmp/mysql.sock;dbname=test', 'username', 'password');</code>
您也可以修改php.ini 檔案中的pdo_mysql. default_socket 設定來設定預設的Unix 套接字位置。
以上是當我透過 PDO 連接到 MySQL 時,為什麼會收到「沒有這樣的檔案或目錄」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!