Pergunta

Eu adicionei o PHP como um módulo do Apache 2.2.11:

LoadModule php5_module "c:/php/php5apache2_2.dll"

E também acrescentou

AddType application/x-httpd-php .php

E em PHP.ini, meu dir extensão é definida como: extension_dir = "C:\php\ext"

e Sim , os diretórios estão corretas e todos os arquivos não existem.

Mas quando eu iniciar o Apache, recebo esses erros:

PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_mysql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_pdo_pgsql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_pgsql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
[Sun Maio 17 03:46:01 2009] [Aviso] Apache / 2.2.11 (Win32) PHP / 5.2.9-2 configurados - retomar as operações normais
[Sun 17 mai 03:46:01 2009] [Aviso] Servidor de construção: 10 de dezembro de 2008 00:10:06
[Sun 17 mai 03:46:01 2009] [Aviso] Pais: Criado processo filho 4652
PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_mysql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_pdo_pgsql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
PHP Warning: PHP Startup: Não é possível carregar a biblioteca dinâmica. 'C: \ php \ ext \ php_pgsql.dll' - O módulo especificado não pôde ser encontrado \ r \ n em Unknown on line 0
[Sun maio 17 03:46:01 2009] [Aviso] Criança 4652: O processo filho está em execução
[Sun maio 17 03:46:01 2009] [Aviso] Criança 4652: adquiriu o mutex início
. [Sun maio 17 03:46:01 2009] [Aviso] Criança 4652:. Iniciando 64 segmentos de trabalho
[Sun maio 17 03:46:01 2009] [Aviso] Criança 4652: Começando fio para escutar na porta 80.

Então, eu estou provavelmente esquecer algo simples aqui, alguém pode me dizer o que estou esquecendo?

Foi útil?

Solução

Não só você precisa DLLs de extensão PHP, a fim de adicionar suporte MySQL e PostgreSQL para PHP. Você também precisa de MySQL e PostgreSQL bibliotecas nativas. DLLs de extensão PHP provavelmente não estão encontrando alguns DLL que dependem, de modo que não pode ser iniciado.

Certifique-se de ter cliente MySQL e PostgreSQL instalado, e suas DLLs em algum lugar localizável.

I.E. exemplo:

  • php_mysql.dll depende libmysql.dll

Assim, certifique-se PHP é capaz de encontrar libmysql.dll (creio que este vem com a distribuição binária do Windows PHP. Não tenho certeza embora).

Outras dicas

Para adicionar o conselho de Pablo Santa Cruz. No windows você pode incluir as bibliotecas necessárias no ambiente PATH. (Não necessariamente copiar a pasta Windows). Quando carregar bibliotecas viúvas Looks no diretórios PATH também.

Se você usar distribuição binária Win32 padrão de php.net para PHP5.2, em seguida, o pacote deve conter todas as dependências na raiz dos pacotes. Então, se você tiver instalado o PHP5.2 em C:\php, adicione este diretório para o envar PATH. Reinicie o Apache e eu esperaria extensões para carregar corretamente.

Eu tive um problema com uma versão específica do PHP no Windows. O problema era libmysql. Eu encontrei um bug postado no site php.net de alguém com o mesmo problema.

Eu usei o lançamento php anterior e libmysql trabalhou. Confira as notas sobre a distribuição php você está usando. Eu acho que depois de uma versão específica eles mencionam uma nova política em relação libmysql.

Do que você menciona php é incapaz de encontrar as extensões. Certifique-se de ter definido o caminho no php.ini que especifica onde as extensões estão localizadas, que existem as extensões e que a pasta pode ser acessado (permissões de leitura).

Se tudo falhar tente mover a extensão para windows / system32 em um esforço para descobrir o que pode ser o problema real.

Saudações,

Estas extensões dependem de bibliotecas nativas, que são fornecidos pelos MySQL e PostgreSQL distribuições binárias. Instalá-los e colocar as libs na pasta bin do Apache, por exemplo. Essas são LIBMYSQL.DLL e LIBPQ.DLL respectivamente.

Eu costumo fazer isso em vez de poluentes pasta Windows/System32 com eles, porque no meu sistema só o apache / php é o cliente desses bancos de dados e também faz minha configuração apache / php mais portátil.

Na minha experiência, o PHP no Windows é uma grande dor no traseiro. Eu costumo fazê-lo funcionar, eventualmente, mas há sempre um monte de googling e de tentativa e erro envolvido -. Pelo menos para mim

Então, eu finalmente ficou doente e cansado disso e simplesmente instalado Ubuntu Server em um VM e se tivesse instalado e funcionando em poucos minutos. Se esta é uma opção para você ou não, eu não posso dizer, mas se é o mais definitivamente poupar muita dor de cabeça a longo prazo. Sem mencionar que você sempre pode mover o seu VMs ao redor, criar instantâneos e fazer todas as outras coisas de fantasia que VMs são bons para.

Eu tive o mesmo problema. Eu estava recebendo uma daquelas janelas irritantes erros de pop-up toda vez que eu tentava fazer login para phpmyadmin. Eu digitei o nome de usuário e senha e, em seguida, iria jogar o erro.

O que resolveu para mim, também foi copiar o libmysql.dl para o diretório bin apache. O estranho é aparentemente as extensões onde incluídos corretamente, mas ainda assim eu precisava fazer isso.

Eu tentei várias dessas soluções e um ou mais deles funcionou ... reinicialização é a chave aqui. Eu não reiniciar entre essas mudanças, mas depois que eu reiniciei ele estava funcionando:

  • add postgres DLL para apache lib dir
  • postgres add caminho para PATH do sistema
  • add postgres DLL para system32

Eu acredito que apenas o PATH teria trabalhado mas não há tempo para a limpeza aqui, então lá vai.

O problema aqui é que o Apache foi carregado PHP, mas PHP não foi capaz de carregar a sua extensão (MySQL, PostgreSQL, ...). Eu acho que você deve entrar valores de caminhos em seu arquivo php.ini no formato unix (não use caracteres de barra invertida como separador de diretório). -lo em sua mudança de arquivo php.ini esta:

extension_dir = "C: / php / ext"

Eu sou também teve mesmo problema e resolvido adicionando "PostgreSQL" caminho bin em variáveis ??de ambiente do sistema

PATH: C: \ Program Files \ PostgreSQL \ 8.4 \ bin Você pode verificar em phpinfo () também.

Quando eu instalar PostgreSQL, colocando em caminho do sistema perdida. Eu adicionado manualmente, em seguida, reiniciar o sistema.

Eu tive esse problema também, e copiou os pertinentes (.DLLs) para systen 32 e ainda não funcionou para mim. Estou executando o Windows 7 de 64 bits. Para chegar a este trabalho para mim que eu tinha que copiar também o libmysql.dll para o diretório ext. A mensagem de erro deixou o log do Apache ea página carregado com uma resposta favorável (conexão estabelecida).

Eu tive o mesmo problema e tentaram copiar arquivo libmySQL.dll para a pasta bin apache e resolveu o problema (eu sou a criação de PHP 5.2.5 x64). Muito obrigado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top