Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
Verifica se a DLL do MySQL está ativada no seu php.ini
Dorian, boa tarde!
esse aqui: extension=php_mysql.dll ??
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)
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
>
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!
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().
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.
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
>
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
Pessoal,
Fui verificar o phpinfo() e vejam só!
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)
O que está errado?
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
>
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 ?
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
Boa tarde!
Eu coloquei o php.ini em c:\windows, e o Loaded Configuration File ainda continua (none).
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?
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
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!
mysql_* functions foram removidas no PHP 7. Há muitos anos seu uso não era recomendado e desde o PHP 5.5 foram depreciadas.
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); echo 'ERROR: ' . $e->getMessage();
}ERROR: could not find driver
Verifique se a extensão pdo_mysql está habilitada
Se quiser um tutorial passo-a-passo sobre PDO, veja: http://rberaldo.com.br/pdo-mysql/
No meu php.ini estão habilitadas:
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
Preciso conferir mais alguma coisa?
p.s.: Estou usando o mysql 5.5 x64
Poste as partes mysql e PDO do phpinfo() para nós. Pode ser algum item que deveria ter sido compilado junto com o PHP.
Senhores,
ao seguir a dica aima do amigo Gabriel Heming, descobri que meu PDO não está habilitado. Em todas as literaturas que pesquisei, dizem para habilitar a extensão "extension=php_pdo.dll". No meu php.ini não tem ela. Só tem a "extension=php_pdo_mysql.dll". E na pasta ext não tem a dll.
Vejam o que tem no phpinfo():
PDO support: PDO drivers
enabled: no value
Somente para versões antes do PHP 5.3, pois a PDO era uma biblioteca PECL.
http://php.net/manual/en/pdo.installation.php
>
Note:
This step is not necessary for PHP 5.3 and above, as a DLL is no longer required for PDO.
O que ele não está reconhecendo são os drivers para os SGBDs (MySQL, Postgres, ODBC, etc...).
Provavelmente, o seu PHP, não está lendo o mesmo php.ini que você está configurando. Caso contrário, adicionar a biblioteca php_pdo_mysql.dll deveria carregar o driver ou acusar um erro.
No phpConfig() eu tenho:
Configuration File (php.ini) Path C:\Windows Então fiz os ajustes nesse php.ini, e mudei o nome de todos os que existiam na minha maquina!
Seu problema mto provavelmente é no php.ini
vou redirecionar para o forum correto.