394 Stimmen

PDOException "konnte keinen Treiber finden"

Ich habe gerade Debian Lenny mit Apache, MySQL und PHP installiert und erhalte eine PDOException could not find driver .

Dies ist die spezifische Codezeile, auf die er sich bezieht:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST , DB_NAME , DB_USER y DB_PASS sind Konstanten, die ich definiert habe. Auf dem Produktionsserver (und auf meinem früheren Ubuntu-Server) funktioniert es gut.

Hat das etwas mit meiner PHP-Installation zu tun?

Die Suche im Internet hat nicht geholfen, ich finde nur den Austausch von Experten und Beispiele, aber keine Lösungen.

0voto

JerzySBG Punkte 84

Wenn Sie alle obigen Antworten gelesen haben und es immer noch nicht funktioniert...

Vergewissern Sie sich, dass Ihre PHP PDO-Verbindungszeichenfolge in Ordnung ist. Nicht wie meiner:

$dbh = new PDO('"mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

In der Fehlermeldung wird nicht angegeben, welcher Treiber nicht gefunden wurde.

Nachdem ich alle möglichen PDO- und MySQL-Bibliotheken neu installiert hatte, fand ich heraus, dass es eine " am Anfang meiner Verbindungszeichenfolge.

0voto

Andrei .K Punkte 11

Für Linux Mint

Ich hatte das gleiche Problem bei der Verwendung von PhpBrew ( 5.5.9 / 7.0.14 ) und versuchte, eine PDO-Verbindung zu erstellen.

Nachdem ich die meisten Lösungen in diesem Beitrag ausprobiert hatte, ging ich wie folgt vor:

  1. Abgeschaltetes PhpBrew

  2. Ausgeführt sudo apt-get install php7.0 (Linux Mint 17.2 / PHP7.0.16) - neue php-Version installiert

0voto

Wenn Sie sqlite zum Testen verwenden, benötigen Sie php sqlite pdo drive. Sie können sie wie unten beschrieben installieren.

Für Ubuntu 14.04

sudo apt-get install php5-sqlite
sudo service apache2 restart

In ubuntu 16.04 gibt es keine php5-sqlite

sudo apt-get install php7.0-sqlite
sudo service apache2 restart

-2voto

Die Lösung für mich war in der Installation von php, Dont haben richtig konfiguriert die Umgebungsvariable und die php.ini-Datei. Tun dies zwei Korrektur eine unented de Zeile von extension = pdo_mysql.so Werke

-2voto

Teoman Diler Punkte 15

Entfernen Sie das Semikolon vor ;extension=php_pdo_mysql.dll in der php.ini und speichern Sie. Vergessen Sie nicht, xampp, Apache und Mysql neu zu starten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X