9
respostas

php.ini

Eu ja vinha fazendo o curso, porem coloquei um SSD no meu notebook, ai fui configurar tudo de novo, fiz as configuraçoes e estou com php 7.4.1 porem nao tem o php.ini nele, tem um php, outa php.ini-development e outra php.ini-production eu tiro o ponto e virgula delas mas nao dá certo, uma diferença que percebi do meu pra o da video aula é que esses meu arquivos nao tem o dll no final, por isso acho q nao esta dando certo, segue abaixo o erro:

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user 'Riquelme_admin'@'localhost' (using password: YES) in C:\PDO\classes\Conexao.php:7 Stack trace: #0 C:\PDO\classes\Conexao.php(7): PDO->__construct('mysql:host=127....', 'Riquelme_admin', '12345678') #1 C:\PDO\classes\Categoria.php(22): Conexao::pegarConexao() #2 C:\PDO\categorias.php(4): Categoria->listar() #3 {main} thrown in C:\PDO\classes\Conexao.php on line 7

Como resolver??

9 respostas

Olá Matheus,

A ideia é que você duplique um desses arquivos (php.ini-development) e mude o nome para php.ini

Sobre a falta do .dll não é mais obrigado ter isso no final em novas versões do php, pode deixar como está.

Não deu certo, eu tenho os seguintes arquivos: php.ini php.ini-development php.ini-production Eu fiz a alteração de tirar o ponto e virgula do php.ini e no php.ini-development tambem, e mesmo assim nao deu certo, o erro acusado agora é:

Fatal error: Uncaught PDOException: could not find driver in C:\PDO\classes\Conexao.php:7 Stack trace: #0 C:\PDO\classes\Conexao.php(7): PDO->__construct('mysql:host=127....', 'Riquelme_admin', '12345678') #1 C:\PDO\classes\Categoria.php(22): Conexao::pegarConexao() #2 C:\PDO\categorias.php(4): Categoria->listar() #3 {main} thrown in C:\PDO\classes\Conexao.php on line 7

O erro agora já está diferente, além de descomentar as linhas que você falou, procura também uma linha com extension_dir e descomenta a referente ao seu sistema operacional.

Obs.: Você só precisa editar o php.ini as outras variações são apenas exemplos para você copiar.

Espero ter ajudado, qualquer dúvida é só falar!

Sobre o "extension_dir" eu nao entendi muito bem, ai está o que tem no php.ini, o que eu tenho que descomentar ai? Meu sistema operacional é o windows

; Directory pointing to SQLite3 extensions ; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir =

; SQLite defensive mode flag (only available from SQLite 3.26+) ; When the defensive flag is enabled, language features that allow ordinary ; SQL to deliberately corrupt the database file are disabled. This forbids ; writing directly to the schema, shadow tables (eg. FTS data tables), or ; the sqlite_dbpage virtual table. ; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html ; (for older SQLite versions, this flag has no use) ;sqlite3.defensive = 1

[Pcre] ; PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit ;pcre.backtrack_limit=100000

; PCRE library recursion limit. ; Please note that if you set this value to a high number you may consume all ; the available process stack and eventually crash PHP (due to reaching the ; stack size limit imposed by the Operating System). ; http://php.net/pcre.recursion-limit ;pcre.recursion_limit=100000

; Enables or disables JIT compilation of patterns. This requires the PCRE ; library to be compiled with JIT support. ;pcre.jit=1

Não é essa que você encontrou, tem uma linha que o início é apenas extension_dir=

Deve ser parecido com isso:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"

Nesse exemplo, você descomenta o extension_dir após o On windows:

Outra dica, para confirmar que você está editando o php.ini correto, existe o comando php --ini que vai mostrar os ini carregados pelo php

quando eu digitei o php --ini me mostrou o seguinte: Configuration File (php.ini) Path: C:\Windows Loaded Configuration File: (none) Scan for additional .ini files in: (none) Additional .ini files parsed: (none)

Eu estou fazendo as configurações no php.ini no disco C e sobre o extension _dir estava da seguinte maneira: ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ;extension_dir = "./" ; On windows: extension_dir="C:\xampp\php\ext"

Ja estava descomentado e ainda nao funciona

Pelo retorno do comando parece que o php não está reconhecendo o seu arquivo ini, baseado nessa parte: Loaded Configuration File: (none).

Verifica nas variáveis de ambiente qual é o caminho da pasta do php, nessa pasta é que deve estar o arquivo php.ini correto.

Eu coloquei o meu php na pasta C:\php-7.4.0, então esse é o caminho que está na variável de ambiente, e é nessa pasta que está o meu arquivo php.ini

Acho que você está editando o arquivo na pasta errada, você está na pasta do xampp talvez?

Fala, Matheus! Você conseguiu resolver o problema?

Vi pelo seu diretório que você tá usando xampp. Normalmente isso traz mais problemas do que resolve.

Já tentou instalar o PHP sem o xampp? :-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software