Estrutura do código do aplicativo fastcgi
Pergunta
Estou escrevendo um aplicativo fastcgi usando o kit de desenvolvimento fastcgi no Linux (Ubuntu), usando o Apache 2.2 + mod_fcgid.
De acordo com o documento, a estrutura de código correta para um aplicativo fastcgi é:
- Seção de inicialização, que é executada apenas uma vez.
- Seção de loop de resposta, que é executada toda vez que o script fastcgi é chamado.
Isso parece estar errado para mim, certamente, se houver uma seção de inicialização, deve haver uma seção de 'limpeza'?
Nesse caso, onde estaria a seção de limpeza e como posso ter certeza de que a seção de limpeza é chamada - quero dizer, existe algo no protocolo FastCGI que diz ao aplicativo para rescindir?
O senso comum me diz para colocar a seção de limpeza após o loop de resposta - mas essa é a maneira correta de limpar?
Solução
Essa questão parece relacionado e pode ajudá -lo.
Outras dicas
Normalmente, quando você estiver no loop, você chama a função "fcgx_accept". Se o pai (Apache) desejar encerrar o FCGI Child, provavelmente retornará "falha" para a função de aceitação; nesse caso, você provavelmente deve quebrar o loop e a limpeza no caminho para sair.