Instalando o PHP / Apache no Windows XP

2

Estou tentando instalar um servidor web Apache com PHP na minha caixa do Windows XP Pro, mas não estou tendo sorte.

Estou tentando imitar um servidor de produção, então prefiro não ter o mais recente. O ambiente prod usa 5.3.6; Estou me preparando para o 5.3.5 na minha caixa do Windows. * Para o Apache, o ambiente prod usa 2.0.63; Eu tentei tanto 2.0.64 e 2.2.22 (acho que coincidir com a versão do idioma é mais importante que a versão do servidor web) e obtive fundamentalmente as mesmas falhas. **

Eu tenho seguido as instruções nesta página e elas sempre falham quando é hora de adicionar esse código ao httpd arquivo .conf:


LoadModule php5_module "c:/php/php5apache2_2.dll"
AddModule application/x-httpd-php .php
PHPIniDir "C:/php"

Os caminhos do diretório estão corretos e c:/php/php5apache2_2.dll é um arquivo real. Quando tento reiniciar / iniciar o servidor Apache, recebo um "A operação solicitada falhou!" mensagem pop-up. O arquivo logs/error.log não é de ajuda; nada está sendo escrito para isso. (Para essa falha, quero dizer. O arquivo existe e não está vazio.)

Quando eu comento essas três linhas, o servidor da web é iniciado, então estou certo de que o problema está lá.

Tenho quase certeza de que a instalação do PHP correu bem; Eu recebo a saída esperada quando executo php -v da linha de comando.

Qualquer conselho sobre o que estou fazendo de errado é bem-vindo e muito apreciado.

'* Por quê? Porque a página de download indicou que eu queria o VC6 (não o VC9) se eu estivesse rodando sob o Apache, e a página de arquivo não tem o VC6 para o 5.3.6; 5.3.5 foi o mais perto que pude.

** - A atualização para o 2.2.22 foi a minha mais recente tentativa de resolver isso antes de vir para cá, então é isso que estou executando no momento. Eu ficaria feliz em voltar à versão 2.0.64 para replicar melhor o ambiente prod, mas, como eu disse, acho que a versão da linguagem é mais importante que o servidor web.

    
por BlairHippo 10.02.2012 / 22:39

2 respostas

1

As falhas de inicialização do Apache, particularmente na configuração inicial, geralmente são resultado de um módulo não encontrado na ordem de carregamento da DLL. (Assumindo que os arquivos de configuração estão escritos corretamente.)

Seu primeiro problema é que você está tentando carregar o manipulador Apache 2.2 no Apache 2.0, mas o 2.2.22 deve ter carregado. :-P

O que o log de eventos do sistema diz? IIRC, informações úteis são registradas lá quando o Apache falha ao iniciar.

Você pode iniciar o Apache sem o PHP ativado?

O que a saída de httpd -t diz de um prompt de comando? Você precisará estar na pasta Apache\bin para isso.

A conta na qual você está tentando executar o Apache tem acesso de leitura à sua pasta PHP? Tem acesso de gravação à sua pasta de log?

Você está tentando carregar extensões PHP? Em caso afirmativo, o seu extension_dir está definido corretamente no seu php.ini ?

O php -i de uma linha de comando funciona? Qual é a saída de php --ini ? Está encontrando o arquivo ini correto?

Você não pegou uma versão nts (não-thread-safe) do PHP, não é? Para carregar o PHP como um módulo do Apache, você precisa da versão segura do thread.

Finalmente, pode valer a pena considerar a execução do PHP como um CGI em vez de um módulo de servidor para propósitos de desenvolvimento. Isso torna muito mais fácil alternar as versões do PHP para testar os efeitos da atualização do tempo de execução.

- = - = -

Um servidor que eu tenho acesso para rodar o Apache 2.2 e o PHP 5.2, usa as seguintes diretivas:

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
    
por 10.02.2012 / 22:56
1

Custa um pouco de dinheiro (US $ 125), mas eu consegui um bom uso do WampDeveloper Pro . Para alguém como eu, que não é muito de um administrador do WAMP, ele simplificou bastante o processo de fazer com que tudo funcionasse em conjunto para que eu pudesse me concentrar nos aplicativos da Web que eu estava instalando no topo da pilha de software para servidores.

Mas você também disse que precisava usar versões anteriores específicas de alguns softwares - sem ter certeza se esse produto permitiria fazer isso.

    
por 17.02.2012 / 17:25