segunda-feira, 21 de junho de 2010

PHP 5.2.13 ou 5.3 e Apache 2.2.15 no windows

Se você está enfrentando problemas ao instalar o apache + PHP nestas versões isso pode estar ocorrendo por causa de erro em alguma extensão.

Li muitos casos na web, posts em foruns e blogs, que algumas versões anteriores também enfrentavam esses problemas.


Problemas:

1) Apache não inicia

2) Mensagens de erro envolvendo a dll php5ts.dll

3) Nenhuma mensagem de erro nos logs do apache. Apenas é mencionado que ele teve de reiniciar

4) Texto do log de eventos Aplicativo com falha php.exe, versão 5.2.13.13, módulo com falha php5ts.dll, versão 5.2.13.13, endereço com falha 0x000f351c.


Para solucionar, tente o seguinte:
1) Certifique-se que o apache funciona sem PHP.

Para isso desisntale o PHP e retire do arquivo httpd.conf do Apache as linhas que configuram o PHP



LoadModule php5_module "C:/Arquivos de programas/PHP/php5apache2_2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini 
PHPIniDir "C:/Arquivos de programas/PHP"

2) Certifique-se de que a variável de ambiente do PHP está configurada, clicando com o botão direito do mouse em meu computador --> avançado --> variaveis de ambiente


3) Certifique-se de que o PHP está funcionando: no prompt de comando digite php -v para ver a versão. Provavelmente ocorrerá um erro.


4) Se já desinstalou o PHP, reinstale e na hora de excolher as extensões que vai usar, escolha apenas e estritamente as que vai precisar mesmo. Eu desabilitei todas e escolhi apenas a do mySql, por enquanto.



Se estiver usando apache (provavelmente) o PHP que você precisa é o compilado no VS6 (visual studio 6). Há versões do PHP compiladas no VS9 (visual studio 2008) [apenas php 5.3], mas suas dll's não são compativeis com o Apache 2.2.



5) Algumas dll's dentre as extensões estão com problemas nesse release. Dentre elas foi citada a extensão do MSSQL.



6) Alguns reportaram também erro na dll msvcr71.dll. Por isso, tente atualiza-la ou substituí-la pela mesma dll de outra máquina que funcione.



7) Para que funcionem as tags curtas, com <? ?> vá no php.ini e coloque o short_open_tag = On (não é aconselhável usar as short tags se você não tiver acesso ao php.ini do servidor)



8) Tenha certeza de que está chamando o módulo certo do php no apache. Para apache 2.2 o módulo não é o php5apache2.dll e sim o php5apache2_2.dll



9) Resolvi TODOS os meus problemas instalando o php 5.3 em vez do 5.2. Ele só vem com a dll php5apache2_2.dll, então pelo que eu entendi ele só suporta o apache 2.2 .... consegui instalar o joomla .... fuck off ¬¬



O link abaixo me ajudou:



http://tidoc.wordpress.com/2010/04/27/php-5-2-13-apache-2-2-15-windows/



Sinceramente, eu não sei o que acontece se instalar o php compilado no VS9 no apache 2.2. Quem quiser testar, por favor.

2 comentários:

  1. Vitor,

    Seu artigo foi bem esclarecedor. Obrigado pelas dicas.

    Sucesso com seu blog!

    ResponderExcluir

Postagens populares

Marcadores

delphi (60) C# (31) poo (21) Lazarus (19) Site aos Pedaços (15) sql (13) Reflexões (10) .Net (9) Humor (9) javascript (9) ASp.Net (8) api (8) Básico (6) Programação (6) ms sql server (5) Web (4) banco de dados (4) HTML (3) PHP (3) Python (3) design patterns (3) jQuery (3) livros (3) metaprogramação (3) Ajax (2) Debug (2) Dicas Básicas Windows (2) Pascal (2) games (2) linguagem (2) música (2) singleton (2) tecnologia (2) Anime (1) Api do Windows (1) Assembly (1) Eventos (1) Experts (1) GNU (1) Inglês (1) JSON (1) SO (1) datas (1) developers (1) dicas (1) easter egg (1) firebird (1) interfaces (1) introspecção (1) memo (1) oracle (1) reflexão (1)