Pergunta

Como você construir sua própria interface FastCGI em PHP?

Eu gostaria de fazer algo semelhante ao que eles 'estão fazendo em Perl , mas em PHP. Será que é mesmo possível? Seria mais rápido?

(Isto é, eu gostaria de ser capaz de carregar um quadro aplicativo web uma vez na memória, e depois só tem FastCGI chamar um método que eu fornecer para cada pedido. Portanto, não o mais genérico pré-carregamento do PHP-intérprete que está acontecendo na configuração "default" PHP FastCGI.)

aplausos!

( Editar :? Não é Mongrel e RoR fazer isso também)

Ok eu fiz um freakin' diagrama agora:)

text alt

Foi útil?

Solução

posso estar enganado (que seja tarde), mas você não está apenas tentando fazer algum tipo de cache? Independentemente disso, a interface do FastCGI parece estar muito bem definido. Assim, deve ser possível para fazer o que quiser, com bastante facilidade.

Outras dicas

Você pode não fazê-lo em PHP para PHP, você pode fazê-lo em C para cgi-SAPI mas você provavelmente vai querer usar APC .

Se você está realmente decidido para que seja em PHP, você poderia, em teoria, criar um php módulo em c , e formar a ponte para fastCGI em c .

Depois que im adivinhando, você deve executar um script PHP acessando fastCGI como um programa autônomo, executando um loop e aceitar pedidos. Em que seu usando PHP como uma "máquina virtual persistente" (não poderia encontrar um termo melhor), que se comunica via fastCGI.

Eu concordo que a recarga de vários de seus libaries dependência / etc, é um dreno desempenho muito facilmente sobre míope. No entanto, ele projeto talvez intencional, ao simplificar o ciclo de desenvolvimento PHP. Pense na confusão variável global usuários inexperientes faria, em um ambiente de persistente. Atire no fato de que a maioria configuração fastCGI, irá inicializar múltiplas cópias / tópicos de acordo com a carga. É uma pequena lata de vermes. Iniciando uma nova lousa em branco para cada solicitação simplifica-lo.

No entanto, honestamente ... se o seu que a preocupação no desempenho, assim como você pode considerar ++ / node.js fastCGI C, como alternativas .... Tendo desenvolvido para JavaScript / PHP / C ++, sua idéia é definitivamente possível .. . no entanto ele realmente se resume a relação custo-benefício ... vale a pena o esforço ?, etc.

PS:. Você também pode considerar a compilação de seus sites PHP via hip-hop

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