memcache rápido-cgi php apache 2.2 windows 7 criando problemas

1

Estou tentando rodar memcache, fast-cgi com o apache 2.2 + php em uma máquina windows 7. Se eu não uso memcache, tudo funciona bem.

No momento em que desativo extension=php_memcache.dll no php.ini, tudo volta ao normal.

Depois de iniciar o apache, os registros do apache informam:

[Wed Jan 12 18:19:23 2011] [notice] Apache/2.2.17 (Win32) mod_fcgid/2.3.6 configured -- resuming normal operations
[Wed Jan 12 18:19:23 2011] [notice] Server built: Oct 18 2010 01:58:12
[Wed Jan 12 18:19:23 2011] [notice] Parent: Created child process 412
[Wed Jan 12 18:19:23 2011] [notice] Child 412: Child process is running
[Wed Jan 12 18:19:23 2011] [notice] Child 412: Acquired the start mutex.
[Wed Jan 12 18:19:23 2011] [notice] Child 412: Starting 64 worker threads.
[Wed Jan 12 18:19:23 2011] [notice] Child 412: Starting thread to listen on port 80.

e depois de acessar a página (a página só tem echo phpinfo() ) eu recebo esse erro no error.log:

[Wed Jan 12 18:20:54 2011] [warn] [client 127.0.0.1] (OS 109)The pipe has been ended.  : mod_fcgid: get overlap result error
[Wed Jan 12 18:20:54 2011] [error] [client 127.0.0.1] Premature end of script headers: index.php

Eu tenho o php_memcache.dll no meu diretório ext e o httpd.conf é assim:

LoadModule fcgid_module modules/mod_fcgid.so

FcgidInitialEnv PHPRC "c:/php"
FcgidInitialEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
FcgidInitialEnv TMP "C:/WINDOWS/Temp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidIOTimeout 64
FcgidConnectTimeout 32
FcgidMaxRequestsPerProcess 500

<Files ~ "\.php$>"
  AddHandler fcgid-script .php
  FcgidWrapper "c:/php/php-cgi.exe" .php
</Files>

Portanto, o problema tem que estar relacionado ao memcache, porque se eu desativá-lo, o fast-cgi parece estar funcionando bem. Existe alguma razão possível para isso?

O serviço memcache está sendo executado ... Posso verificá-lo por meio dos serviços do painel de controle & gt ;.

    
por Ahmad 13.01.2011 / 03:09

2 respostas

1

Execute o PHP manualmente (localize php.exe e clique duas vezes nele). O que muitas vezes acontece é que o PHP não pode carregar a extensão por algum motivo, e tenta abrir uma caixa de mensagem dizendo isso. Como ninguém está por perto para ver a caixa de mensagens quando é executado como um serviço, ninguém sabe o que está acontecendo.

    
por 13.01.2011 / 04:17
1

Eu consegui trabalhar. O problema foi com a versão do dll e versão php. Eu atualizei o PHP para 5.3 e está tudo bem agora.

Você também deve ter cuidado com a versão thread safe e non-thread safe ... qualquer incompatibilidade não permitirá a execução do memcache.

    
por 13.01.2011 / 07:59