[Rozwiązano] Wystąpił wyjątek w sterowniku: nie można znaleźć sterownika
Podczas uruchamiania aplikacji Symphony użytkownicy często otrzymują komunikat Wystąpił wyjątek w sterowniku: nie można znaleźć błędu sterownika, po którym następuje skonfigurowana ścieżka sterownika. Dzieje się tak w przypadku, gdy aplikacja korzysta z bazy danych MySQL.
Błąd zwykle pojawia się, gdy MySQL nie jest zainstalowany, masz nieprawidłowe nazwy plików, brakuje plików krytycznych lub są one zapisane w niewłaściwym katalogu lub wymagane rozszerzenia nie są zainstalowane lub aktywowane.
Jak naprawić błąd sterownika Wystąpił wyjątek?
Zanim zaczniemy od nieco skomplikowanych rozwiązań, wypróbuj te szybkie:
- Upewnij się, że zapisałeś plik. env.local z kropką (.) przed nazwą pliku i że jest on przechowywany w katalogu app/. Zarówno app/.env, jak i app/.env.local muszą być przechowywane w tym samym katalogu.
- Uruchom polecenie w kontenerze PHP zamiast w domyślnym terminalu komputera.
- Upewnij się, że po edycji plik php.ini ma taką nazwę, a nie php.ini-prod.
1. Zainstaluj MySQL i jego sterowniki
Zainstaluj MySQL, uruchamiając następujące polecenie w terminalu:sudo apt install php-mysql
W przypadku użytkowników systemu Linux użyj tego polecenia, aby zainstalować brakujące rozszerzenia:sudo apt-get install php-mysql php-pdo
Jeśli używasz Dockera, użyj tego polecenia, aby zainstalować sterowniki MySQL:RUN docker-php-ext-install pdo pdo_mysql
2. Aktywuj rozszerzenia
W pliku php.ini dodaj ścieżkę, w której xampp zainstalował rozszerzenia, obok katalogu_rozszerzenia. Może to być na przykład:C:\xampp\php\ext
Teraz aktywuj następujące rozszerzenia:
- rozszerzenie=bz2
- przedłużenie = zwinięcie
- rozszerzenie=informacje o pliku
- rozszerzenie = gd2
- rozszerzenie = pobierz tekst
- rozszerzenie=mbstring
- rozszerzenie=exif
- rozszerzenie = mysqli
- rozszerzenie=pdo_mysql
- rozszerzenie = pdo_sqlite
3. Dodaj ścieżkę bezwzględną
Dodaj ścieżkę bezwzględną (może być inna w Twoim przypadku) do katalogu_rozszerzeń za pomocą następującego polecenia:extension_dir = "c:\php5\ext"
Po zakończeniu uruchom ponownie serwer WWW i sprawdź ulepszenia.
4. Zamień 127.0.0.1 na Localhost
Jeśli pojawia się komunikat Wystąpił wyjątek w sterowniku: nie można znaleźć błędu sterownika podczas działania: php bin/console doctrine:database:create
lub symfony console doctrine:database:create
Zamień 127.0.0.1 na localhost w DATABASE_URL. W końcu staje się:DATABASE_URL="mysql://db_user:db_password@localhost:3306/db_name?serverVersion=5.7&charset=utf8mb4"
Wielu użytkowników potwierdziło, że rozwiązanie działa. Powinieneś tego spróbować, nawet jeśli zarówno [chroniony e-mailem], jak i root@localhost są przechowywane w tabeli użytkowników MySQL.
5. Zainstaluj ponownie PHP PostgreSQL i usuń nieużywane wersje PHP
- Usuń Symphony z komputera. Sprawdź katalog ~/.symfony lub inne miejsce, w którym może być przechowywany.
- Teraz uruchom następujące polecenie, aby usunąć PostgreSQL PHP:
sudo apt-get --purge remove php-pgsql
- Usuń nieużywaną wersję PHP za pomocą tego polecenia (wersja może się różnić w Twoim przypadku):
sudo apt-get purge 'php5.6'
- Użyj tego polecenia, aby zainstalować PostgreSQL PHP:
sudo apt-get install php-pgsql
- Na koniec pobierz Symphony z oficjalnej strony internetowej dla swojego systemu operacyjnego i sprawdź, czy są dostępne ulepszenia.
Jedno z tych rozwiązań powinno pomóc naprawić błąd Wystąpił wyjątek w sterowniku: nie można znaleźć błędu sterownika. Pamiętaj, że błąd może wynikać z błahych błędnych konfiguracji lub poważnych uszkodzeń i będziesz musiał odpowiednio sobie z nim poradzić.
W przypadku jakichkolwiek pytań lub podzielenia się tym, co zadziałało w Twoim przypadku, zostaw komentarz poniżej.
Dodaj komentarz