web-dev-qa-db-fra.com

Artisan migrate n'a pas trouvé de pilote

J'essaye d'installer Laravel. J'ai installé Xampp, mais lorsque j'essaie de configurer ma base de données à l'aide de php artisan migrate, le message d'erreur suivant s'affiche:

[Illuminate\Database\QueryException] Impossible de trouver le pilote (SQL: sélectionnez * dans information_schema.tables où table_schema = Homestead et nom_table = migrations) [PDOException] impossible de trouver le pilote

Mon fichier config.database a les connexions appropriées:

'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
    ],

    'mysql' => [
        'driver' => 'mysql',
        'Host' => env('DB_Host', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

    'pgsql' => [
        'driver' => 'pgsql',
        'Host' => env('DB_Host', '127.0.0.1'),
        'port' => env('DB_PORT', '5432'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'schema' => 'public',
        'sslmode' => 'prefer',
    ],

    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'Host' => env('DB_Host', 'localhost'),
        'port' => env('DB_PORT', '1433'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
    ],

],

Des idées?

3
Bomber

Dans votre fichier de configuration php.ini, décommentez simplement l'extension:

;extension=php_pdo_mysql.dll

(Vous pouvez trouver votre fichier php.ini dans le dossier php où votre serveur de pile est installé.)

Si vous êtes sur Windows rendez-le: extension=php_pdo_mysql.dll

Si vous êtes sur Linux rendez-le: extension=pdo_mysql.so

Et faites un redémarrage rapide du serveur.

Si cela ne fonctionne pas pour vous, vous devrez peut-être installer pdo_mysql extension dans votre bibliothèque PHP

9

Nous avons résolu la même erreur en suivant les étapes ci-dessous.

la commande linux pour ce type d'erreur s'est produite, vérifiez tout d'abord votre fichier php.ini 

If your php.ini file exists then in configuration file simply uncomment the extension:

;extension=php_pdo_mysql.dll 

Else follow below steps

step1:php -v

step2: Sudo apt-get install php7.0-mysql

step3: service Apache2 restart

step4: php artisan migrate
2
Hiren Spaculus

Je sais que c'est un peu tard, néanmoins je réponds à cette question pour tous ceux qui rencontrent encore ce problème sur Windows (USING XAMPP).

Étape 1. Vérifiez qu’il existe une discordance dans votre version PHP . Pour ce faire, ouvrez routes/web.php et créez un itinéraire simple pour renvoyer les informations php comme suit: 

Route::get('/', function() {
   return response()->json([
    'stuff' => phpinfo()
   ]);
})

phpinfo

and compare this with output from your command line

enter image description here

As we can see, in my case there is a mismatch, this usually happens if you have multiple versions of php installed.

Étape 2. Ajoutez la version php utilisée par votre xampp à votre chemin système enter image description here

Étape 3. Vérifiez que l'extension est activée dans votre fichier php.ini. NB. Assurez-vous d’éditer le fichier php.ini indiqué sous l’entrée 'Fichier de configuration chargé' dans les résultats de la commande phpinfo () . enter image description here

1
Mazino S Ukah

alors que parfois vous pouvez avoir plusieurs versions de php, vous pouvez aussi avoir une version bloquée de php-mysql. grep mysql | grep php et comparez ce que vous obtenez de php -v

0
baradhili