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?
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
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
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()
]);
})
and compare this with output from your command line
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
É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 () .
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