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.

5voto

SimonW Punkte 5787

Für PHP 5.5 auf CentOS Ich habe das Problem durch die Installation des php55-mysqlnd Paket.

sudo yum -y install php55w-mysqlnd # For Webtatic
sudo yum -y install php55u-mysqlnd # For Remi

Wenn Sie Hilfe bei der Installation benötigen, schreiben Sie einen Kommentar, da es davon abhängt, wie PHP auf Ihrem System installiert ist. Verfügbare Repo's sind webtatic y remi .

5voto

cem Punkte 3271

Haben Sie in Ihrer php.ini (mit phpinfo()) überprüft, ob MySQL und der Treiber korrekt installiert sind?

4voto

Facedown Punkte 182

Ich hatte das gleiche Problem, als ich Tests mit einer separaten php.ini durchführte. Ich musste diese Zeilen zu meiner eigenen php.ini-Datei hinzufügen:

[PHP]
extension = mysqlnd.so
extension = pdo.so
extension = pdo_mysql.so

Hinweis: Genau in dieser Reihenfolge

4voto

RealSollyM Punkte 1450

Falsche Installation von PHP wurde aufgerufen

Ich hatte das gleiche Problem. Und ich hoffe, dies würde jemandem helfen, der ein ähnliches Problem wie ich hat.

Szenario

OS = Windows 10  
Platform = XAMPP  
PHP Version = 7 (Multiple Version seem to have been installed in the PC)  

Ich habe phpinfo.php Datei in der public und führen Sie die phpinfo() um den Standort meines php.ini Datei.

PHP.ini Speicherort = c:\xampp\php\php.ini

Problem
Aufruf von c:\xampp\htdocs> php -v zurückgegeben PHP 7.2.3 sondern phpinfo.php zeigte PHP 7.2.2 .

Lösung
Anstelle des Aufrufs

php artisan migrate:install   

was zu dieser Fehlermeldung führte, habe ich

c:\xampp\php\php artisan migrate:install

und es hat funktioniert.

3voto

Growling Flea Punkte 99

Ich habe den letzten Tag damit verbracht, herauszufinden, warum ich die folgende Fehlermeldung erhalte. Ich benutze Ubuntu 14.04.

Das Problem:
Ich habe festgestellt, dass meine PHP-CLI-Version mit php7.0 läuft, aber php_info() (die Web-Version) zeigt php 5.5.9 an. Obwohl php_info() anzeigte, dass pdo aktiviert war, erkannte die Kommandozeile (CLI) den Befehl pdo_mysql nicht. Es stellte sich heraus, dass mysql für meine alte Version aktiviert war, nicht aber für die CLI-Version. Ich habe lediglich mysql für php7.0 installiert und es funktionierte.

Das hat funktioniert:

Um die Version zu überprüfen:

php -v

So installieren Sie mysql für php7.0

sudo apt-get install php7.0-mysql

1) Vergewissern Sie sich, dass Ihre CLI-Version mit Ihrer Web-Version übereinstimmt.
2) Wenn sie unterschiedlich sind, vergewissern Sie sich, dass Ihre CLI-Version das mysql-Plug-in hat, da es nicht standardmäßig mitgeliefert wird.

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