Já faz muito tempo desde que eu lidei com isso, mas você precisa aumentar os tempos limite de CGI no IIS, pois isso simplesmente matará o processo do PHP se ele for executado por muito tempo.
Eu sou um pouco nube quando se trata de configurar o IIS 7.5 e Php então peço desculpas se esta é uma pergunta boba, mas eu tenho lutado com isso por mais da metade do dia e preciso de alguma nova informação.
Eu tenho um aplicativo php em execução no IIS 7.5, php 5.4 rodando como fastcgi. O aplicativo funciona perfeitamente bem com a exceção de que scripts php de longa duração parecem travar; nenhum erro 500 eles simplesmente parecem nunca completar e retornar os resultados para o navegador.
Eu escrevi um script de teste simples abaixo para eliminar a possibilidade de erro de programação no aplicativo principal:
<?php
/* test timeout */
/*set_time_limit(110);*/
echo "Testing time out in seconds\n";
for ($i = 0; $i < 175; $i++) {
echo $i." -- ";
if(sleep(1)!=0)
{
echo "sleep failed script terminating";
break;
}
}
?>
Se eu executar o script depois de 175 segundos, ele será interrompido. Abaixo disso, ele retornará os resultados para o navegador.
Aqui estão os parâmetros de tempo limite que defini para php e fastcgi. Eu também brinquei definindo esses valores muito baixos a fim de obter vários erros de tempo e obtive sucesso, o que me leva à conclusão de que há outro cenário que estou perdendo ... talvez.
tempo limite da atividade = 800 Tempo limite ocioso = 900 solicitação de tempo limite de 800
max_execution_time = 700
Qualquer solução ou ponteiros na direção correta seria muito ... muito bem vinda.
Obrigado
Já faz muito tempo desde que eu lidei com isso, mas você precisa aumentar os tempos limite de CGI no IIS, pois isso simplesmente matará o processo do PHP se ele for executado por muito tempo.