Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problema com Conexão do Banco no Linux

Boa tarde professor tive um problema na hora de usar o comando php artisan migrate no Ubuntu, ele me traz essa mensagem de erro:

Illuminate\Database\QueryException : could not find driver (SQL: PRAGMA foreign_keys = ON;)

at /opt/lampp/htdocs/alura-laravel/controle-series/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 PDOException::("could not find driver") /opt/lampp/htdocs/alura-laravel/controle-series/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

2 PDO::__construct("sqlite:/opt/lampp/htdocs/alura-laravel/controle-series/database/database.sqlite", []) /opt/lampp/htdocs/alura-laravel/controle-series/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

Please use the argument -v to see more details.

Whoops\Exception\ErrorException : PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20170718/pdo_sqlite (/usr/lib/php/20170718/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_sqlite.so (/usr/lib/php/20170718/pdo_sqlite.so: cannot open shared object file: No such file or directory))

at Unknown:0 1|

Exception trace:

1 Whoops\Run::handleError("PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20170718/pdo_sqlite (/usr/lib/php/20170718/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_sqlite.so (/usr/lib/php/20170718/pdo_sqlite.so: cannot open shared object file: No such file or directory))", "Unknown") /opt/lampp/htdocs/alura-laravel/controle-series/vendor/filp/whoops/src/Whoops/Run.php:433

2 Whoops\Run::handleShutdown() [internal]:0

3 respostas

Fala, Cleonildo!

Cara, me diz como você instalou o PHP e qual a versão que você está utilizando?

Teve um problema com a sua extensão do SQLite? Como você habilitou ela?

Aguardo retorno

Se não me enganou instalei o PHP junto com o pacote XAMPP e estou usando PHP 7.2.19, eu consegui fazer o migrate depois de ter dado o comando sudo apt-get install php-sqlite3 mas agora ele me da um Warning de:

PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20170718/pdo_sqlite (/usr/lib/php/20170718/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_sqlite.so (/usr/lib/php/20170718/pdo_sqlite.so: undefined symbol: php_pdo_unregister_driver)) in Unknown on line 0

solução!

Fala, Cleonildo.

Cara, não recomendo nem um pouco a utilização do XAMPP. Ele só traz mais problemas do que resolve.

Instalar o PHP sem ele é moleza, ou você ainda pode usar o Docker (é o que eu faço).

Se você já tiver o docker instalado, desinstala seu PHP e faz isso:

alias php='docker run --rm -itv $(pwd):/app -w /app -u $(id -u):$(id -g) php:7.3-cli php'

Com isso, ao digitar php no terminal você vai estar rodando a imagem do Docker, mas isso fica transparente. ;-)