Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich die Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“, wenn ich über PDO eine Verbindung zu MySQL herstelle?

Warum erhalte ich die Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“, wenn ich über PDO eine Verbindung zu MySQL herstelle?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 18:17:31555Durchsuche

Why am I getting

Fehler: „Keine solche Datei oder kein solches Verzeichnis“ beim Herstellen einer Verbindung zu MySQL über PDO

Beim Versuch, eine Verbindung zu einer MySQL-Datenbank über PDO herzustellen, kann der folgende Fehler auftreten:

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in ...

Dieser Fehler tritt auf, wenn PDO versucht, über einen Unix-Socket eine Verbindung zu MySQL herzustellen, Ihr Code jedoch für eine TCP/IP-Verbindung konfiguriert ist.

Lösung

Das können Sie Beheben Sie dieses Problem, indem Sie die richtigen Verbindungsparameter in Ihrem PDO-Konstruktor angeben. Anstatt „localhost“ als Hostnamen zu verwenden, verwenden Sie „127.0.0.1“, um eine TCP/IP-Verbindung zum lokalen Computer anzugeben.

<code class="php">new PDO('mysql:host=127.0.0.1;port=3306;dbname=test', 'username', 'password');</code>

Wenn Sie eine Verbindung über einen Unix-Socket herstellen möchten, können Sie dies angeben den Pfad zum Socket wie folgt:

<code class="php">new PDO('mysql:unix_socket=/tmp/mysql.sock;dbname=test', 'username', 'password');</code>

Sie können auch die pdo_mysql.default_socket-Konfiguration in Ihrer php.ini-Datei ändern, um den Standard-Unix-Socket-Speicherort festzulegen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“, wenn ich über PDO eine Verbindung zu MySQL herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn