php artisan migreren gooien [PDO Exception] Kon stuurprogramma niet vinden – Laravel gebruiken

Ik heb een slechte ervaring met het installeren van laravel. Ik was echter in staat om dit te doen en naar het volgende niveau te gaan. Ik gebruikte generatoren en maakte mijn migraties.
Maar als ik het laatste commando typ

php artisan migrate

Het geeft een PDOException – kon het stuurprogramma niet vinden.

      'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock',
            'database'  => 'database',
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

Dat is mijn configuratie in config/database.php.

Ik heb geprobeerd te zoeken op stackoverflow- en laravel-forums en mensen suggereren dat het een PDO-probleem is en niet artisanaal of php’s – ik volgde die suggesties zoals het toevoegen van

extension=pgsql.so
extension=pdo_pgsql.so

in php.ini

Geen positief resultaat. Er staat altijd [PDOException]could not find driver.

Kan iemand me alsjeblieft helpen dit op te lossen.

Omgeving die ik gebruik: Mac, laravel 4, MAMP PRO met php 5.4.4


Antwoord 1, autoriteit 100%

U kunt gebruiken

sudo apt-get install php7-mysql

of

sudo apt-get install php5-mysql

of

sudo apt-get install php-mysql

Dit werkte voor mij.


Antwoord 2, autoriteit 22%

U moet de plug-in pdo_mysql specifiek inschakelen. Ervan uitgaande dat u een standaard PHP-installatie gebruikt, hoeft u dit over het algemeen gewoon aan uw PHP.ini-bestand toe te voegen:

extension=pdo_mysql.so

U moet er echter voor zorgen dat dit bestand in de extensiemap aanwezig is.

Het toevoegen van pdo_pgsql.sohelpt niet omdat dat voor PostgreSQL is.

Bovendien moet u ervoor zorgen dat u de webserver opnieuw opstart nadat u de wijzigingen in het PHP ini-bestand heeft aangebracht, aangezien de wijzigingen anders mogelijk niet worden weergegeven.


Antwoord 3, autoriteit 22%

Dit werkte voor mij:

sudo apt-get install php5-sqlite

Hiermee installeerde ik sqlite voor php5, daarna voerde ik de opdracht php artisan migreren opnieuw uit en werkte perfect.


Antwoord 4, autoriteit 15%

Ook hier tegen hetzelfde probleem aangelopen, en het blijkt dat dit komt omdat PHP op de opdrachtregel een ander php.ini-bestand gebruikt dan de browserversie, en daarom lijkt het alsof het de extensie laadt correct als je naar phpinfo()kijkt in een browser.

Volgens dit antwoordhoeft u alleen het volgende uit te voeren:

php --ini

Op de opdrachtregel, die u het pad naar de momenteel geladen php.inivertelt (waarschijnlijk een php-cli.ini-bestand op dezelfde plaats als uw gewone php.ini-bestand).

Zodra u dat heeft gevonden, wijzigt u het met de gewenste pdo-extensies (in dit geval voor MySQL):

extension=pdo_mysql.so

Of, voor alle andere gebruikers van Windows die een of andere WAMP-server gebruiken, ziet het er in plaats daarvan waarschijnlijk zo uit:

extension=php_pdo_mysql.dll

Antwoord 5, autoriteit 7%

Ik denk dat je de mysql-driver voor php5 hebt gemist.
Voer onderstaande opdracht uit:

sudo apt-get install php5-mysql
/etc/init.d/php5-fpm restart

Antwoord 6, autoriteit 4%

Controleer ook uw Laravel .env-bestand. Zorg ervoor dat DB_CONNECTION=mysqlanders werkt het niet met MySQL. Het probeerde iets anders te laden.


Antwoord 7, autoriteit 4%

Je mist een BOB-stuurprogramma.

Installeer eerst het stuurprogramma

Voor ubuntu: voor mysql-database.

sudo apt-get install php5.6-mysql/php7.2-mysql

U kunt ook naar andere databasesystemen zoeken.

U kunt ook naar de bestuurder zoeken:

sudo apt-cache search drivername

Then Run the cmd php artisan migrate

Antwoord 8, autoriteit 4%

Je moet de nieuwste versie van php mysqlinstalleren
in mijn geval installeer ik php7.1-mysql

Probeer dit

sudo apt-get install php7.1-mysql

Ik gebruik de nieuwste versie van laravel


Antwoord 9, autoriteit 2%

Had hetzelfde probleem en kwam er net achter dat de website draait onder MAMP’s php, maar als je het commando inroept, draait het mac’s (als er geen bash-pad is gewijzigd). je zult een probleem hebben als mac die extensies niet heeft.

voer php -i uit om de geladen extensies te vinden en installeer de extensies die je hebt gemist. of voer ‘/Applications/MAMP/bin/php/php5.3.6/bin/php artisan {your command}’ uit om MAMP’s te gebruiken


Antwoord 10, autoriteit 2%

Ik kreeg ook dezelfde foutmelding –> “[PDOException]
kan stuurprogramma niet vinden “

Daarna heb ik veel commando’s gebruikt, maar ik kreeg geen hulp

Uiteindelijk gebruikte ik de volgende opdracht, waarmee mijn probleem werd opgelost.

sudo apt-get install php5-sqlite


Antwoord 11, autoriteit 2%

Laravel-testenmet sqlitevereist php pdo sqlite-stuurprogramma’s

Voor Ubuntu 14.04

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

In ubuntu 16.04 is er geen php5-sqlite

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

Antwoord 12, autoriteit 2%

Ik kreeg deze fout voor de PostgreSQL en de oplossing is:

sudo apt-get install php7.1-pgsql

Je hoeft alleen je geïnstalleerde PHP-versie te gebruiken, de mijne is 7.1.
Dit heeft het probleem voor PostgreSQL opgelost.


Antwoord 13

Ik zing ubuntu 14.04 af

Het onderstaande commando loste dit probleem voor mij op.

sudo apt-get install php-mysql

In mijn geval kreeg ik na het updaten van mijn php-versie van 5.5.9 naar 7.0.8 deze foutmelding, inclusief twee andere fouten.

fouten:

  1. laravel/framework v5.2.14 vereist ext-mbstring * -> de gevraagde PHP-extensie mbstring ontbreekt op uw systeem.

  2. phpunit/phpunit 4.8.22 vereist ext-dom * -> de gevraagde PHP-extensie dom ontbreekt op uw systeem.

  3. [PDOException]
    kon stuurprogramma niet vinden

Oplossingen:

Ik heb deze pakketten geïnstalleerd en mijn problemen zijn verdwenen.

sudo apt-get install php-mbstring

sudo apt-get install php-xml

sudo apt-get install php-mysql


Antwoord 14

Ik had dit probleem op debian. Het probleem was dat ik de dotdeb-repository gebruikte voor recentere PHP-pakketten. Om de een of andere reden heeft het de php cli geüpdatet naar 7.0, terwijl het web php binaire bestand php 5.6 bleef. Ik heb dit antwoordgebruikt om de binaire php-opdrachtregel te koppelen aan de 5.6-versie, zoals:

$ sudo ln -sfn /usr/bin/php5 /etc/alternatives/php

Antwoord 15

Dit werkte bij mij:(voor pgsql: gebruik ‘pgsql’ in plaats van ‘mysql’)

Stap 1)

sudo apt-get install php-mysql

Stap 2)

php artisan config:clear

Stap 3)

php artisan config:cache

Stap 4)
Start vervolgens uw server opnieuw op, genereer opnieuw een sleutel en migreer deze, het is klaar


Antwoord 16

controleer eerst uw php-versie als volgt:

php -v

nadat u bijvoorbeeld het versienummer krijgt, krijg ik 7.1en installeer het dan zo

sudo apt-get install  php7.1-sqlite     //for laravel testing with sqlite
sudo apt-get install  php-mysql         //for default mysql
sudo apt-get install  php7.1-mysql      //for version based mysql 
sudo apt-get install  php7.1-common     //for other necessary package for php

en moet apache2 opnieuw opstarten

sudo service apache2 restart

Antwoord 17

Voor toekomstige zoekers.
Probeer op FreeBSD de volgende

pkg_info | grep php5-pdo_mysql

als je de lege regel ziet, doe dan het volgende:

cd /usr/ports/databases/php5-pdo_mysql

en de installatie uitvoeren

make install clean

start dan gewoon je apache opnieuw en je bent klaar

bijv. sudo /usr/local/etc/rc.d/apache22 restart


Antwoord 18

Installeer het via dit commando

sudo apt-get install php5-gd

dit werkte voor mij.


Antwoord 19

In mijn geval was ik me er niet van bewust dat de PHP van Apache anders was dan die van CLI. Dat kan het geval zijn als je tijdens de configuratie in httpd.conf een PHP-module hebt opgegeven, die niet de standaardmodule is die je CLI gebruikt.


Antwoord 20

Ik heb de juiste oplossing voor deze fout gevonden! Of je hebt geen database geïnstalleerd of je standaarddatabase in dit bestand
config/database.php
is ingesteld op een andere database zoals deze

'default' => 'sqlite',
'default' => env('DB_CONNECTION', 'sqlite'), //laravel 5.2

wijzig de standaard die je hebt geïnstalleerd of installeer die database die als standaard is ingesteld! Ik had mysql geïnstalleerd en php artisan migreren werkte nadat ik die regel in deze had veranderd:

'default' => 'mysql',
'default' => env('DB_CONNECTION', 'mysql'), //laravel5.2

Antwoord 21

Ik kreeg ook dezelfde foutmelding –> “[PDO-uitzondering]
kan stuurprogramma niet vinden “

Ik realiseerde me dat de php naar /usr/bin/php verwees in plaats van naar de lampp /opt/lampp/bin/php, dus ik maakte gewoon
en alias

alias php=”/opt/lampp/bin/php”

moest ook het .env-bestand bijwerken om ervoor te zorgen dat de inloggegevens voor de databasetoegang werden bijgewerkt.

En raad eens, het werkte!


Antwoord 22

Als je Laravel 5.x gebruikt en de fout komt door het proberen om de kenmerken van een kolom te wijzigen, is het mogelijk dat de fout wordt veroorzaakt door een ontbrekende vereiste.

Probeer dit:

composer require doctrine/dbal

Probeer vervolgens uw migraties uit te voeren.

Vanaf hier:
https://laravel.com/docs/master/migrations#modifying-columns


Antwoord 23

Als je een arch-gebaseerd systeem gebruikt zoals in manjaro

gebruik gewoon

sudo pacman -S php-sqlite

Herstart je httpd

systemctl restart httpd

Antwoord 24

voor die gebruikers van windows 10 en WAMPdie dit bericht hebben gevonden, heb ik een oplossing.Ga naar deze link. Het werkte voor mij en het was moeilijk om tot de oplossing te komen, maar ik hoop dat het in de toekomst anderen kan helpen.


Antwoord 25

Ervan uitgaande dat je de normale installatie hebt gedaan met virtual box, vagrant etc..
Dit kan nieuwe mensen overkomen.
PHP kan op uw pc worden geïnstalleerd, maar alle PHP-modules voor uw laravel-project staan ​​op uw VM
Dus om toegang te krijgen tot uw VM, gaat u naar uw homestead-map en typt u:
zwerver ssh

om vervolgens uw projectpad te volgen en de php artisan-migratie uit te voeren.


Antwoord 26

Het is een probleem met MAC en MAMP.
Probeer dit aan je .env-bestand toe te voegen:

DB_SOCKET= /Applications/MAMP/tmp/mysql/mysql.sock

Het werkt voor mij

Other episodes