problemas PostgreSQL no Windows PHP
-
20-08-2019 - |
Pergunta
Eu estou usando WAMP no Windows, que instala PHP, Apache e MySQL.
Agora estou trabalhando em algo novo que exige PostgreSQL. A instalação atual não vai fazer isso por mim, como eu continuo recebendo esses erros:
Call to pg_query função indefinida ()
Sempre
Função indefinida
Eu instalei PostgreSQL 8.3.7-1 para janelas, php_pgsql.dll
acrescentou, php_pdo_pgsql.dll
e até mesmo libpq.dll
, que uma nota na página PHP para PostgreSQL diz que os usuários do Windows precisam a partir de PHP 5.2.6
Ainda assim, eu continuo recebendo esses erros ...
Alguém pode aconselhar o melhor curso de ação? Ou devo apenas apache desinstalação e tudo mais, e fazer uma nova instalação de cada componente seperatly?
Solução
xampp não "dizer" apache / php que php.ini para uso. Portanto php usa sua estratégia de pesquisa padrão para encontrar o arquivo. Se você não mudou nada este será o único no diretório onde o binário apache está localizado, xampp / apache / bin / php.ini. Você editar este arquivo e removeu o ponto e vírgula antes extension = php_pgsql.dll? Em caso de dúvida pergunte
arquivoecho 'php.ini: ', get_cfg_var('cfg_file_path');
which você tem que editar. xampp instala o PHP como um módulo por padrão e você tem que reiniciar o apache, a fim de obter php para ler o php.ini novamente. Após impressão that
echo extension_loaded('pgsql') ? 'yes':'no';
should Sim . Se ele não parar o serviço apache, abra um shell de comandos, vá para o diretório do xampp e enterapache_start.batThis irá iniciar o Apache como um aplicativo de console e você pode ver erros de inicialização neste console (em vez de gerente de eventos do Windows'). Se uma DLL está faltando você receberá uma caixa de mensagem.
Outras dicas
Você habilitá-lo no arquivo ini php?
O que faz uma chamada para phpinfo () dizer é instalado para extensões?
Dependendo do tipo de erros que você vê em error.log do Apache as respostas em esta questão pode ser útil.
Eu fiz o mesmo que você fez e se livrou do issue.But meu era para xampp. Provavelmente você deve re-instalar o wamp.