9
respostas

Erro ao executar php artisan migrate

Quando executor php artisan migrate ,me retorna isso :

   Illuminate\Database\QueryException  : could not find driver (SQL: select * from information_schema.tables where table_schema = projeto_clinica and table_name = migrations and table_type = 'BASE TABLE')

  at C:\Users\Projeto Clinica\projeto-clinica\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|        catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("could not find driver")
      C:\Users\Projeto Clinica\projeto-clinica\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("could not find driver")
      C:\Users\Projeto Clinica\projeto-clinica\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27

  Please use the argument -v to see more details.
Meu arquivo ENV:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=projeto_clinica
DB_USERNAME=root
DB_PASSWORD=
Meu arquivo dataBase:

'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'projeto_clinica'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

A extensão extension=pdo_mysql ,já esta descomentada no php.ini

9 respostas

Fala, Leonardo.

Seu problema é justamente a extensão não estar habilitada.

Manda pra mim, por favor, um print da saída do comando php -m e o conteúdo do seu arquivo php.ini na parte onde a extensão do pdo_mysql está descomentada?

Eai cara,não consegui enviar o print ,mas segue a lista ai

C:\Users\Projeto Clinica\projeto-clinica>php -m
[PHP Modules]
bcmath
calendar
Core
ctype
date
dom
filter
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
Phar
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
extension=php_pdo_mysql.dll
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

`

Por que você adicionou php_pdo_mysql.dll?

Basta remover essa linha e descomentar a linha logo acima (;extension=pdo_mysql).

:-D

Pode comentar a mysqli de volta tbm.

Quanto menos extensões habilitadas, melhor. :-D

Adicionei aquela extensão ,pq eu vi em alguns foruns .Retire ela e tirei o virgula da extensão pdo_mysql ,mas o problema ainda continua.Não posso comentar a msqli,pq dar um erro quando vou acessar o phpmyadmin

phpmyadmin?

Não utilizamos isso no treinamento. rsrsrs

Consegue colocar seu php.ini em um gist pra eu dar uma olhada?

Após descomentar a linha extension=pdo_mysql o exato mesmo erro continua?

Não utilizou,mas quando fui executar o comando php artisan serve,não gerava o servidor.Tive que usar o xampp para isso.A pdo não esta comentada,mas ainda continua.

https://github.com/Leoaraujo16091994/projeto-clinica/blob/master/php.ini

Aaahhh, você está utilizando xampp?

Então não consigo te ajudar.

rsrsrs

Abre uma nova dúvida pra eu te ajudar a fazer o php artisan serve rodar. Eu não recomendo nem um pouco a utilização do Xampp. Nesse link comento um pouco sobre o assunto: https://cursos.alura.com.br/forum/topico-instalacao-do-php-e-varaveis-de-ambiente-85601

:-)

Fala, Leonardo. Entendeu meu ponto de vista?

Como eu não uso XAMPP, nem sei te ajudar com essa questão.