Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo Rodrigues Ferreira

Incompatibilidade entre Apache + PHP + MySql

Recommended Posts

Boa tarde!

 

Acabei de me cadastrar no forum, pois estou com um problema!

Montei um servidor para desenvolvimento web.

 

O ambiente é windows 8.1, Apache/2.2.21 (Win32) PHP/5.2.6 e MySQL 5.6 (x64)!

 

Não consigo conectar a aplicação no MySQL... e quando executo o phpinfo(); não aparece nada do MySQL!

 

Exite alguma incompatibilidade entre essa versões?

 

Desde já agradeço!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
MySQL 5.6 (x64)!

 

verifique se o seu windows é 64 bits.. se não for, provavelmente a versão do mysql é incompativel..

caso seja 64, então verifique tb seu apache:

 

Apache/2.2.21 (Win32)

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse aqui: extension=php_mysql.dll ??

Se quiser usar MySQLi, procure por php_mysqli.dll.

 

 

Comece cercando o problema. Veja se o MySQL está funcionando. Isso você faz pelo próprio terminal ou usando algum programa gráfico (Navicat, MySQL Query Browser etc)

 

Se estiver OK, o problema é, realmente, na ligação entre o PHP e o MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

verifique se o seu windows é 64 bits.. se não for, provavelmente a versão do mysql é incompativel..

caso seja 64, então verifique tb seu apache:

 

Apache/2.2.21 (Win32)

Fernando... o meu windows 64b, o mysql também! Agora o Apache/2.2.21 e ou PHP/5.2.6 são x84 (Win32) !

 

Se quiser usar MySQLi, procure por php_mysqli.dll.

 

 

Comece cercando o problema. Veja se o MySQL está funcionando. Isso você faz pelo próprio terminal ou usando algum programa gráfico (Navicat, MySQL Query Browser etc)

 

Se estiver OK, o problema é, realmente, na ligação entre o PHP e o MySQL

Beraldo, acredito que o MySql está ok, pois consigo acessar normalmente pelo Workbench e pelo pronto de comando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você descomentou a linha do php_mysqli.dll?

Lembre-se de reiniciar o Apache após alterar o php.ini

 

E verifique se está modificando o php.ini correto. O caminho para o php.ini também aparece no phpinfo().

Compartilhar este post


Link para o post
Compartilhar em outros sites

o meu windows 64b, o mysql também! Agora o Apache/2.2.21 e ou PHP/5.2.6 são x84 (Win32)

 

ola.. foi mal, entendi equivocadamente que o problema era no mysql.. então o que eu tentaria seria instalar pelo menos o apache p/ 64, já que aparentemente pelo phpinfo() o php está ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Interessante que no phpinfo(), ele me diz o seguinte:

Configuration File (php.ini) Path C:\Windows

 

Mas na verdade o php.ini está em: C:\Windows\System32

Há duas "configurações":

 

1. Configuration File (php.ini) Path: é o diretório onde o php.ini está

2. Loaded Configuration File: é o arquivo php.ini carregado

 

Se não existir a segunda, é por que não tem php.ini sendo carregado, por isso suas alterações não surtem efeito.

Você deve colocar o php.ini no diretório apontado pela primeira configuração

 

No meu caso, por exemplo, tenho estes valores:

 

Configuration File (php.ini) Path => /opt/local/etc/php70
Loaded Configuration File => /opt/local/etc/php70/php.ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que está errado é que não existe nenhum php.ini na pasta C:\Windows.

 

Coloque o php.ini ali ou mude o local dele. Dá pra mudar usando PHPIniDir nas configs do Apache. Veja esta dúvida semelhante. Neste caso, só vai afetar o PHP web. Pelo terminal, vai continuar sem php.ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que está errado é que não existe nenhum php.ini na pasta C:\Windows.

 

Coloque o php.ini ali ou mude o local dele. Dá pra mudar usando PHPIniDir nas configs do Apache. Veja esta dúvida semelhante. Neste caso, só vai afetar o PHP web. Pelo terminal, vai continuar sem php.ini

 

Beraldo, bom dia! Estão ele não reconhece o arquivo php.ini dentro do c:\windows\System32 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, bom dia! Estão ele não reconhece o arquivo php.ini dentro do c:\windows\System32 ?

Exato.

O PHP procura o php.ini em um certo lugar. No seu caso, é em C:\Windows.

Isso depende da forma como você instalou o PHP. Quando eu usava Windows, há bastante tempo, eu configurava variáveis de ambiente, aí ficava tudo em uma mesma pasta do PHP, sem precisar copiar arquivo de um lado pra outro. Não sei se essa é a melhor forma ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei o php.ini em c:\windows, e o Loaded Configuration File ainda continua (none).

Estranho...

Reiniciou o Apache depois de fazer isso?

Na dúvida, reinicie o computador. O Windows é meio maluco... :P

 

So pra eliminar suspeitas: a minha verão do php é PHP Version 5.2.9-2 32b, e o mysql é o 5.6 64b. Será que existe incompatibilidade em essas versões?

Esqueça o MySQL por enquanto. Seu problema é com PHP e Apache.

Mas seria bom usar uma versão mais nova do PHP. 5.2 é muito velha. Use a 5.6 ou mesmo o novo PHP 7

 

Aliás, eu nem recomendo todo o trabalho de instalar Apache. Se o ambiente é de desenvolvimento, poderia usar simplesmente o Servidor Nativo do PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu instalei o PHP Version 7.0.8, e o apache louge 2.4. Esta tudo funcionando. Na execução do phpinfo(), aparece sobre mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $.

 

Mas quando executo o sistema tenho o seguinte erro: Fatal error: Uncaught Error: Call to undefined function mysql_connect() in...

Pesquisando na net, falam sobre o extension_dir, mas esta tudo ok!

 

Desde ja agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_* functions foram removidas no PHP 7. Há muitos anos seu uso não era recomendado e desde o PHP 5.5 foram depreciadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, passei a usa o PDO... ainda não compreendi mais com tempo vai dar tudo certo! hehehe

 

Fiz a seguinte configuração:

try {
    $conn = new PDO('mysql:host=localhost;dbname=meuBancoDeDados', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

E ao usar da o seguinte erro:

ERROR: could not find driver

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.