1. ホーム
  2. Database

PDOデータベース接続エラー。SQLSTATE[HY000] [2002] そのようなファイルやディレクトリはありません。

2022-02-16 18:59:06

    PDO がデータベースに接続しましたが、エラーが発生しました: " SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリはありません".

    この問題の原因は、PDO が mysql.sock または mysqld.sock を見つけることができないことです。

    解決策1:適切な.sockファイルを探し、php.iniファイルに pdo_mysql.default_socket の値を .sock ファイルのパスに設定します。

pdo_mysql.default_socket= /tmp/mysqld.sock

あとは、Apacheを再起動するか、nginxでphp-fpmを再起動するだけです。

    解決策2:(私はこの方法で解決しました、簡単で楽ちんです)

<スパン     PDO 接続の dsn のホストを "localhost" から "127.0.0.1" に変更します。

<スパン <スパン

<?php
	header("Content-Type=text/html;charset=utf8");
	$dbType = 'mysql';
	$host = '127.0.0.1'; //no localhost here
	$dbName = 'joe';
	$userName = 'root';
	$pwd = '';

	$dsn = "$dbType:host=$host;dbname=$dbName";
	try {
		$pdo = new PDO($dsn, $userName, $pwd);
		echo 'Connection successful';
	} catch (PDOException $e) {
		echo 'Connection failed:' . $e->getMessage();
	}
? >

<スパン     参照 http://stackoverflow.com/questions/20723803/pdoexception-sqlstatehy000-2002-no-such-file-or-directory/22927341#22927341