XAMPP PHP PDO - Could not find driver?
Hallo zusammen,
ich bin gerade darüber XAMPP einzurichten, komme allerdings nicht von diesem Fehler weg. "Could not find driver".
Mit Google habe ich schon den Lösungsansatz gefunden mit dem auskommentieren in der php.ini, allerdings fehlt bei mir der Eintrag php_pdo.dll.
Links php.ini und rechts der Extension Ordner
(Ist hier nicht der Eintrag mysqli falsch? Im Ordner lautet dieser nur mysql, aber auch diese Änderung bringt nicht den gewünschten Erfolg)
Zwar hab ich gelesen, dass ab PHP 5.1 oder so, die php_pdo.dll nicht mehr notwendig ist, allerdings kann ich den Fehler nicht ausmachen.
Ich benutze die aktuellse Version von XAMPP (3.2.2) mit PHP 7.2.6
Hier noch der Eintrag in der phpinfo:
Ich hoffe, jemand kann mir weiterhelfen
2 Antworten
Hallo,
Du kannst versuchen, diesen Eintrag manuell zu ergänzen, sprich:
extension=php_pdo_mysql.dll
Danach solltest Du Apache neustarten und schauen, ob der Fehler immer noch auftritt.
Das habe ich schon probiert, leider ohne Veränderung des Fehlers
Wo kriegst du denn den Fehler, phpinfo zeigt ja alles korrekt an. Sieht bei mir genauso aus und alles läuft.
Benutze den selben Connection-String der auch in der Online-Version funktioniert, hab aber auch schon alternativ einen anderen ausprobiert.
Mein aktueller Connection-part sieht so aus:
try {
$pdo = new PDO($database . ":host=" . $host . ';port=' . $port, $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (PDOException $e) {
echo $e->getMessage();
}
Wenn du das ganze in der phpinfo angezeigt bekommst, dann ist es eben schon richtig geladen. Generell ist der Teil $database am Ende zuständig für die Auswahl des Treibers und dieser Teil gibt dir die Fehlermeldung. Auf XAMPP Ebene kannst du das natürlich mal fix testen, sofern du da keine neuen Benutzerdaten vergeben hast, den mysql Server anwerfen und folgendes mal probieren:
<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
echo 'Funzt!';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
Gibt es da die selbe Fehlermeldung?
Ja, das funktioniert ohne Probleme! Ich habe die Datenbank von meiner online Version exportiert und über phpmyadmin auch wieder bei mir offline importiert. Muss man dabei noch mehr beachten?
Danke schonmal, da hast du mir schonmal gut weitergeholfen:)
Jetzt klappt es endlich:) Hab vllt. beim User anlegen etwas falsch gemacht. Mit dem eben neu angelegten User funktioniert wieder alles bestens, vielen Dank für deine Hilfe! :)
Ich hab das DocumentRoot Verzeichnes geändert und den Pfad zu meinen Extensions in der php.ini ist absolut. Hat das vllt. noch auf andere Config-Dateien Auswirkungen?