Laravel: PDOException: não foi possível encontrar condutor

Estou a desenvolver um sítio web num servidor que só tenho acesso ao MySQL e FTP, pelo que todos os comandos que executo são através do php shell b374k . Estou a experimentar um problema de Laravel com o driver SQL. Tentei mudar para file-hosted SQLite (em database/database.sqlite), mas a excepção lançada é a mesma que quando se utiliza o MySQL. A entrada & saída da consola é a seguinte:

   php artisan migrate:refresh --seed
    [Illuminate\Database\QueryException]
could not find driver (SQL: select * from sqlite_master where type = 'table ' and name = migrations)
 [Doctrine\DBAL\Driver\PDOException]
could not find driver
 [PDOException]
could not find driver

As extensões Apache instaladas no servidor são:

    /etc/php/5.6/apache2/conf.d/10-mysqlnd.ini, 
/etc/php/5.6/apache2/conf.d/10-opcache.ini,
 /etc/php/5.6/apache2/conf.d/10-pdo.ini,
 /etc/php/5.6/apache2/conf.d/15-xml.ini, 
/etc/php/5.6/apache2/conf.d/20-calendar.ini,
 /etc/php/5.6/apache2/conf.d/20-ctype.ini, 
/etc/php/5.6/apache2/conf.d/20-curl.ini,
 /etc/php/5.6/apache2/conf.d/20-dom.ini, 
/etc/php/5.6/apache2/conf.d/20-exif.ini, 
/etc/php/5.6/apache2/conf.d/20-fileinfo.ini, 
/etc/php/5.6/apache2/conf.d/20-ftp.ini, /etc/php/5.6/apache2/conf.d/20-gd.ini, 
/etc/php/5.6/apache2/conf.d/20-gettext.ini, 
/etc/php/5.6/apache2/conf.d/20-iconv.ini, 
/etc/php/5.6/apache2/conf.d/20-json.ini, 
/etc/php/5.6/apache2/conf.d/20-mbstring.ini, 
/etc/php/5.6/apache2/conf.d/20-mcrypt.ini, 
/etc/php/5.6/apache2/conf.d/20-mysql.ini, 
/etc/php/5.6/apache2/conf.d/20-mysqli.ini, 
/etc/php/5.6/apache2/conf.d/20-pdo_mysql.ini,
 /etc/php/5.6/apache2/conf.d/20-phar.ini, 
/etc/php/5.6/apache2/conf.d/20-posix.ini, 
/etc/php/5.6/apache2/conf.d/20-readline.ini, 
/etc/php/5.6/apache2/conf.d/20-shmop.ini, 
/etc/php/5.6/apache2/conf.d/20-simplexml.ini, 
/etc/php/5.6/apache2/conf.d/20-sockets.ini,
 /etc/php/5.6/apache2/conf.d/20-sysvmsg.ini,
 /etc/php/5.6/apache2/conf.d/20-sysvsem.ini,
 /etc/php/5.6/apache2/conf.d/20-sysvshm.ini,
 /etc/php/5.6/apache2/conf.d/20-tokenizer.ini, 
/etc/php/5.6/apache2/conf.d/20-wddx.ini,
 /etc/php/5.6/apache2/conf.d/20-xmlreader.ini, 
/etc/php/5.6/apache2/conf.d/20-xmlwriter.ini, 
/etc/php/5.6/apache2/conf.d/20-xsl.ini, 
/etc/php/5.6/apache2/conf.d/20-zip.ini

Qual pode ser o problema e como posso resolvê-lo? (Eu não tenho'não tenho acesso a root bash)

Solução

Se puder, corra:

composer update

composer require doctrine/dbal

Parece que lhe falta uma dependência

Editar:

Poderá ter de comentar o seguinte no seu ficheiro php.ini.

;extension=pdo_mysql.so

Extraído deste posto: https://stackoverflow.com/questions/35240414/laravel-5-pdoexception-could-not-find-driver . Penso que tive de fazer algo exactamente como isto quando instalei a laravela no oceano digital.

Comentários (4)

Falta o condutor da sua base de dados. Para resolver o probelm

Instalar primeiro o condutor

Para o ubuntu: Para a base de dados mysql.

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

Também se pode procurar outros sistemas de bases de dados.

Também se pode procurar o condutor:

sudo apt-cache search drivername

Em seguida, Executar a migração do artesão cmd `php

Comentários (1)

Finalmente, resolvi isto. Havia uma gralha na configuração do servidor e todos os caminhos para php extecutables estavam bem, excepto o caminho para php-cli, que causou o erro. Quando corrigi o caminho, tudo funcionou bem.

Comentários (0)