[Gelöst] Im Treiber ist eine Ausnahme aufgetreten: Der Treiber konnte nicht gefunden werden
Beim Ausführen einer Symphony-App erhalten Benutzer häufig die Fehlermeldung „Im Treiber ist eine Ausnahme aufgetreten: Der Treiber konnte nicht gefunden werden“, gefolgt vom konfigurierten Treiberpfad. Dies ist der Fall, wenn die App die MySQL-Datenbank nutzt.
Der Fehler tritt normalerweise auf, wenn MySQL nicht installiert ist, Sie falsche Dateinamen haben, wichtige Dateien fehlen oder im falschen Verzeichnis gespeichert sind oder die erforderlichen Erweiterungen nicht installiert oder aktiviert sind.
Wie behebe ich den Fehler „Im Treiber ist eine Ausnahme aufgetreten“?
Bevor wir mit den etwas komplexen Lösungen beginnen, probieren Sie diese schnellen Lösungen aus:
- Stellen Sie sicher, dass Sie das gespeichert haben. env.local mit einem Punkt (.) vor dem Dateinamen und dass die Datei im Verzeichnis app/ gespeichert ist. Sowohl app/.env als auch app/.env.local müssen im selben Verzeichnis gespeichert werden.
- Führen Sie den Befehl im PHP-Container statt im Standardterminal des PCs aus.
- Stellen Sie sicher, dass die php.ini nach der Bearbeitung so benannt ist und nicht php.ini-prod.
1. Installieren Sie MySQL und seine Treiber
Installieren Sie MySQL, indem Sie den folgenden Befehl im Terminal ausführen:sudo apt install php-mysql
Wenn Sie Linux verwenden, verwenden Sie diesen Befehl, um die fehlenden Erweiterungen zu installieren:sudo apt-get install php-mysql php-pdo
Wenn Sie Docker verwenden, verwenden Sie diesen Befehl, um die MySQL-Treiber zu installieren:RUN docker-php-ext-install pdo pdo_mysql
2. Aktivieren Sie die Erweiterungen
Fügen Sie in der Datei php.ini neben extension_dir den Pfad hinzu, in dem xampp die Erweiterungen installiert hat. Es könnte zum Beispiel sein:C:\xampp\php\ext
Aktivieren Sie nun die folgenden Erweiterungen:
- Erweiterung=bz2
- extension=curl
- extension=fileinfo
- Erweiterung=gd2
- extension=gettext
- extension=mbstring
- Erweiterung=exif
- extension=mysqli
- extension=pdo_mysql
- extension=pdo_sqlite
3. Fügen Sie den absoluten Pfad hinzu
Fügen Sie den absoluten Pfad (in Ihrem Fall möglicherweise anders) zu extensions_dir mit dem folgenden Befehl hinzu:extension_dir = "c:\php5\ext"
Wenn Sie fertig sind, starten Sie den Webserver neu und suchen Sie nach Verbesserungen.
4. Ersetzen Sie 127.0.0.1 durch Localhost
Wenn Sie die Meldung „Im Treiber ist eine Ausnahme aufgetreten: Der Treiber konnte beim Ausführen nicht gefunden werden“ erhalten: php bin/console doctrine:database:create
oder symfony console doctrine:database:create
Ersetzen Sie 127.0.0.1 durch localhost in DATABASE_URL. Es wird schließlich:DATABASE_URL="mysql://db_user:db_password@localhost:3306/db_name?serverVersion=5.7&charset=utf8mb4"
Viele Benutzer haben bestätigt, dass die Lösung funktioniert. Sie sollten dies auch dann versuchen, wenn sowohl [email protected] als auch root@localhost in der MySQL-Benutzertabelle gespeichert sind.
5. Installieren Sie PostgreSQL von PHP neu und entfernen Sie nicht verwendete PHP-Versionen
- Entfernen Sie Symphony vom Computer. Überprüfen Sie das Verzeichnis ~/.symfony oder einen anderen Ort, an dem es möglicherweise gespeichert ist.
- Führen Sie nun den folgenden Befehl aus, um PHPs PostgreSQL zu entfernen:
sudo apt-get --purge remove php-pgsql
- Entfernen Sie die nicht verwendete PHP-Version mit diesem Befehl (die Version kann in Ihrem Fall abweichen):
sudo apt-get purge 'php5.6'
- Verwenden Sie diesen Befehl, um PHPs PostgreSQL zu installieren:
sudo apt-get install php-pgsql
- Laden Sie schließlich Symphony von der offiziellen Website für Ihr Betriebssystem herunter und suchen Sie nach Verbesserungen.
Eine dieser Lösungen hätte helfen sollen, den Fehler „Im Treiber ist eine Ausnahme aufgetreten: Der Treiber konnte nicht gefunden werden“ zu beheben. Denken Sie daran, dass der Fehler von geringfügigen Fehlkonfigurationen bis hin zu schwerwiegenden Beschädigungen entstehen kann und Sie ihn entsprechend beheben müssen.
Wenn Sie Fragen haben oder mitteilen möchten, was für Sie funktioniert hat, hinterlassen Sie unten einen Kommentar.
Schreibe einen Kommentar