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

[Dúvida] Aula 06 Primeira conexão

Boa tarde, Vinicius

Uso sistema operacional Linux na versão 20.04 e durante e execução do programa 'conexao.php', ao executar o mesmo meu console apresenta o seguinte erro:

PHP Fatal error:  Uncaught PDOException: could not find driver in /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php:4
Stack trace:
#0 /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php(4): PDO->__construct()
#1 {main}
  thrown in /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php on line 4

O que pode estar ocorrendo e o que eu posso fazer para resolver?

Obs.: como por padrão temos a questão da linha 940 do 'php.ini' onde tentei descomentar a linha ';extension=pdosqlite', porem sem sucesso devido ao acesso como root necessário.

5 respostas

Com a resolução do erro informado acima resolvido (após descomentar as linhas do php.ini), o seguite erro esta sendo apresentado agora:

PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20220829/mysqli (/usr/lib/php/20220829/mysqli: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mysqli.so (/usr/lib/php/20220829/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20220829/pdo_mysql (/usr/lib/php/20220829/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/pdo_mysql.so (/usr/lib/php/20220829/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20220829/pdo_sqlite (/usr/lib/php/20220829/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/pdo_sqlite.so (/usr/lib/php/20220829/pdo_sqlite.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Fatal error:  Uncaught PDOException: could not find driver in /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php:3
Stack trace:
#0 /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php(3): PDO->__construct()
#1 {main}
  thrown in /home/pedromoura/Documentos/Curso_avançadoPhp/PHP e PDO/php-pdo-projeto-inicial/conexao.php on line 3

Olá, Pedro. No Linux, para habilitar uma extensão, não basta descomentar a linha. Como você instalou o PHP? O driver de SQLite (a extensão pdo_sqlite) não está instalado.

Devido ao sistema operacional, a instalação como de padrão foi feita via terminal ..... no momento a versão instalada é a 8.2. Durante todos os seus cursos anteriores não tive problemas, somente agora com o PDO que estou com este problema.

Olá, Pedro.

foi feita via terminal

Mas qual comando? Você compilou o PHP manualmente? Instalou via apt? Usou alguma forma alternativa? Se foi via apt, qual foi o pacote instalado?

Se você instalou um pacote chamado php8.2 via apt, então para instalar a extensão pdo_sqlite basta executar sudo apt install php8.2-sqlite3. Com isso, ao executar o comando php -m você deve ver pdo_sqlite na lista

Durante todos os seus cursos anteriores não tive problemas,

Esse é o primeiro curso da formação que exige a instalação de uma extensão. :-)

solução!

Vinicius, Tive que trocar de máquina durante o curso e farei novos testes na mesma ..... caso eu tenha novos problemas, abro uma nova duvida no forum.