Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jair Humberto

instalar a PDO

Recommended Posts

Olá Pessoal,

 

Não sei como instalar a PDO alguém pode me ajudar? No site php.net não está muito claro.

Parecia que era só descomentar as seguintes linhas no php.ini:

 

extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

as dlls existem e estão na pasta ext. Estou usando windows. Instalei o apache, o PHP e o Mysql separados.

A versão do PHP é 5.2.9-1-Win32,

 

Baixei só o pacote PHP e configurei no apache, veio cru , sem quase nada, estou tendo problemas

para instalar outras extensões também.

 

Alguém pode me ajudar com a PDO?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Alaerte,

 

Eu já reiniciei o apache, inclusive o computador também.

 

esqueci de mencionar isso, aliás, é basico isso não? <_<

 

Fiz tudo como o php.net diz, porém, continua dando a seguinte mensagem:

 

Fatal error: Class 'PDO' not found in....

 

Obrigado desde já.

 

edit.: e a propósito, nem se quer isso está no manual. De reiniciar o apache...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é, mais deve reiniciar.

 

outra coisa

Fatal error: Class 'PDO' not found
quer dizer que sua class não foi encontrada e não que está desativada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não sei se posso ser mais claro que isso

 

EU já reiniciei o servidor APACHE quase um milhão de vezes, e isso não adianta nada, eu já disse isso no outro post!!

 

Eu sei muito bem que precisa disso ora! E é claro que se está dizendo Class Not Found é porque a classe nao foi encontrada

 

Eu teria que ser muito burro pra não saber disso.

 

poxa Alaerte eu realmente preciso de ajuda cara, se você não souber nem precisa responder, não tem problema,

mas agora, meu post já tem 4 respostas, e ainda não consegui resolver meu problema.

 

Me desculpe se estou sendo grosseiro, mas preciso de respostas que me ajudem cara! Se ponha no meu lugar, o

que acharia? Eu sei dessas coisas básicas! E JÁ FIZ!!

 

enfim, bola pra frente, eu acabei descobrindo algo que realmente me ajuda um pouco a identificar o verdadeiro problema:

 

habilitei a opção no PHP.ini

display_startup_errors = On

 

e reiniciei o servidor apache

 

agora, está me apresentando a seguinte mensagem:

 

---------------------------

Warning

---------------------------

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_pdo_mysql.dll' - Não foi possível encontrar o módulo especificado.

 

 

---------------------------

OK

---------------------------

 

Porém, antes que me perguntem, o arquivo está realmente nesse diretório, e conferi cada caracter, a ponto de simplesmente, copiar o nome do arquivo e por no PHP.ini e não resolve.

 

Outra coisa interessante quando tento registrar uma dessas dlls com o comando regsvr32 dá a seguinte mensagem:

 

---------------------------

RegSvr32

---------------------------

Falha em LoadLibrary("php_pdo_mysql.dll") - Não foi possível encontrar o módulo especificado.

 

 

---------------------------

OK

---------------------------

 

Mesmo que eu esteja tentando registra-la do mesmo diretorio e tendo certeza dos caracteres. O intrigante:

a dll está lá.

 

Eu preferi carregar só a php_pdo.dll e a php_pdo_mysql.dll no php.ini, e só está dando erro na dll do driver.

 

Será que é algum problema no driver?

 

Tenho que instalar alguma coisa a mais?

 

mudei o diretorio ext no PHP.ini(lembrando que sempre que altero qualquer configuração, eu reinicio o apache)

 

já tentei transferir essas dlls para o system32 do windows, também não adiantou.

 

Alguém já passou por isso?

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera mudei o diretorio das extensões, assim consegui fazer a classe PDO funcionar, porém, não carregou nenhum driver.

 

no phpinfo();

 

a pdo já aparece, porém sem driver algum.

Eu tenho no meu sistema o mysql instalado, preciso de mais alguma coisa?

 

também ao rodar o código:

 

print_r(PDO::getAvailableDrivers());

 

eu obtenho um array vazio.

 

ao tentar executar o código:

 

$dbh = new PDO('mysql:host=localhost;dbname=test', "root", "123456");

 

obtenho a seguinte mensagem de erro:

 

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\Projetos\Web\index.php:3 Stack trace: #0 C:\Projetos\Web\index.php(3): PDO->__construct('mysql:host=loca...', 'root', '103426') #1 {main} thrown in C:\Projetos\Web\index.php on line 3

 

aquele erro que citei antes , continua aparecendo ao tentar carregar a dll php_pdo_mysql.dll.

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera mudei o diretorio das extensões, assim consegui fazer a classe PDO funcionar, porém, não carregou nenhum driver.

 

no phpinfo();

 

a pdo já aparece, porém sem driver algum.

Eu tenho no meu sistema o mysql instalado, preciso de mais alguma coisa?

 

também ao rodar o código:

 

print_r(PDO::getAvailableDrivers());

 

eu obtenho um array vazio.

 

ao tentar executar o código:

 

$dbh = new PDO('mysql:host=localhost;dbname=test', "root", "123456");

 

obtenho a seguinte mensagem de erro:

 

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\Projetos\Web\index.php:3 Stack trace: #0 C:\Projetos\Web\index.php(3): PDO->__construct('mysql:host=loca...', 'root', '103426') #1 {main} thrown in C:\Projetos\Web\index.php on line 3

 

aquele erro que citei antes , continua aparecendo ao tentar carregar a dll php_pdo_mysql.dll.

 

Obrigado desde já.

Boa noite!

sou novo no forum e estou com o mesmo problema que o colega e ; fiz as alterações recomendadas porém não consegui utilizar a classe PDO, se alguém tiver alguma outra solução favor avisar!!!

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores,

 

Imagino que pelo tempo vocês já devem ter resolvido o problema, entretanto o que fiz foi a reinstalação do PHP, habilitando todos os drivers do PDO necessários, no meu caso, do MySQL, pois por padrão o PHP só instala do SQLite.

 

Apenas por curiosidade, verifiquem o arquivo comum.php de vocês se a string de conexão está mais ou menos assim:

$DSN = "$SGBD:host=$servidor;dbname=$banco";

Onde: SGBD=mysql, $servidor=localhost e $banco=dbXXX

 

A partir desta string obtenham uma conexão,assim:

   try {
       $conexao = new PDO($DSN, $usuario, $senha);
       $rs      = Conexao::$conexao->query($sql); //$sql = "select * from tabela";
  } catch (PDOException $e) {

      echo $e->getMessage();
  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal... sinto muito mas ja tentei de tudo e nao consigo habilitar as dll do pdo...

As unicas dlls habilitadas sao as so mssql, sqlit, sqlite2 e odbc...

No arquivo php.ini ja habilitei todas as dlls do extension... eu utiliso o mssql sem problemas mas quero tb utilizar o mysql que nao consta na relacao de driver pdo...

Meu sistema operacional e o wxp prof.

 

Se alguem tiver a solucao para esse problema eu agradeco... valeu pessoal...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal... sinto muito mas ja tentei de tudo e nao consigo habilitar as dll do pdo...

As unicas dlls habilitadas sao as so mssql, sqlit, sqlite2 e odbc...

No arquivo php.ini ja habilitei todas as dlls do extension... eu utiliso o mssql sem problemas mas quero tb utilizar o mysql que nao consta na relacao de driver pdo...

Meu sistema operacional e o wxp prof.

 

Se alguem tiver a solucao para esse problema eu agradeco... valeu pessoal...

 

Cara tu tentou ver se na instalação do PHP tu instalo foi instalado o pdo????

No caso tava dando erros, e reinstalei o php e vi que tinha opções pra instalar o pdo, mas no meu caso é postresql. o msql vai instalado.

Não custa nada dar uma olhada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, desculpem ressuscitar esse tópico, mas é para informar a solução do problema.

O problema é resolvido quando você copia o ini do php para C:/Windows.

Não sei porque a equipe do PHP faz isso! O Mysql funciona com ini dentro do proprio diretório. O Apache, possui configuração da mesma forma.

Mas no PHP não, tem que ter essa incompetência.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.