[Opgelost] Er is een uitzondering opgetreden in het stuurprogramma: kon het stuurprogramma niet vinden
Bij het uitvoeren van een Symphony-app krijgen gebruikers vaak de melding Er is een uitzondering opgetreden in het stuurprogramma: kan geen stuurprogrammafout vinden, gevolgd door het geconfigureerde stuurprogrammapad. Dit is het geval wanneer de app gebruik maakt van de MySQL-database.
De fout verschijnt meestal wanneer MySQL niet is geïnstalleerd, u onjuiste bestandsnamen heeft, essentiële bestanden ontbreken of in de verkeerde map zijn opgeslagen, of de vereiste extensies niet zijn geïnstalleerd of geactiveerd.
Hoe los ik het probleem op? Er is een uitzondering opgetreden in de stuurprogrammafout?
Voordat we beginnen met de enigszins complexe oplossingen, probeer deze snelle oplossingen:
- Zorg ervoor dat je het bestand hebt opgeslagen. env.local met een punt (.) vóór de bestandsnaam en dat deze is opgeslagen in de app/map. Zowel app/.env als app/.env.local moeten in dezelfde map worden opgeslagen.
- Voer de opdracht uit in de PHP-container in plaats van in de standaardterminal van de pc.
- Zorg ervoor dat php.ini na het bewerken zo wordt genoemd en niet php.ini-prod.
1. Installeer MySQL en zijn stuurprogramma’s
Installeer MySQL door de volgende opdracht in de terminal uit te voeren:sudo apt install php-mysql
Voor degenen die Linux gebruiken, gebruik deze opdracht om de ontbrekende extensies te installeren:sudo apt-get install php-mysql php-pdo
Als u Docker gebruikt, gebruikt u deze opdracht om de MySQL-stuurprogramma’s te installeren:RUN docker-php-ext-install pdo pdo_mysql
2. Activeer de extensies
Voeg in het php.ini-bestand het pad toe waar xampp de extensies heeft geïnstalleerd naast extension_dir. Het kan bijvoorbeeld zijn:C:\xampp\php\ext
Activeer nu de volgende extensies:
- extensie=bz2
- uitbreiding=krul
- extensie=bestandsinfo
- extensie=gd2
- extensie=gettext
- extensie=mbstring
- extensie=exif
- extensie=mysqli
- extensie=pdo_mysql
- extensie=pdo_sqlite
3. Voeg het absolute pad toe
Voeg het absolute pad (kan in uw geval anders zijn) toe aan extensions_dir met de volgende opdracht:extension_dir = "c:\php5\ext"
Als u klaar bent, start u de webserver opnieuw op en controleert u op verbeteringen.
4. Vervang 127.0.0.1 door Localhost
Als u het bericht krijgt: Er is een uitzondering opgetreden in het stuurprogramma: kon de stuurprogrammafout niet vinden tijdens het uitvoeren: php bin/console doctrine:database:create
of symfony console doctrine:database:create
Vervang 127.0.0.1 door localhost in DATABASE_URL. Het wordt uiteindelijk:DATABASE_URL="mysql://db_user:db_password@localhost:3306/db_name?serverVersion=5.7&charset=utf8mb4"
Er is door veel gebruikers bevestigd dat de oplossing werkt. U zou dit moeten proberen, zelfs als zowel [email protected] als root@localhost zijn opgeslagen in de MySQL-gebruikerstabel.
5. Installeer PHP’s PostgreSQL opnieuw en verwijder ongebruikte PHP-versies
- Verwijder Symphony van de computer. Controleer de map ~/.symfony of een andere locatie waar het kan worden opgeslagen.
- Voer nu de volgende opdracht uit om PHP’s PostgreSQL te verwijderen:
sudo apt-get --purge remove php-pgsql
- Verwijder de ongebruikte PHP-versie met dit commando (de versie kan in uw geval verschillen):
sudo apt-get purge 'php5.6'
- Gebruik deze opdracht om PHP’s PostgreSQL te installeren:
sudo apt-get install php-pgsql
- Download ten slotte Symphony van de officiële website voor uw besturingssysteem en controleer op verbeteringen.
Een van deze oplossingen had moeten helpen bij het oplossen van het probleem. Er is een uitzondering opgetreden in het stuurprogramma: kan de stuurprogrammafout niet vinden. Houd er rekening mee dat de fout kan voortvloeien uit triviale verkeerde configuraties of grote corruptie, en dat u deze op de juiste manier moet aanpakken.
Voor vragen of om te delen wat voor u heeft gewerkt, kunt u hieronder een reactie achterlaten.
Geef een reactie