Estou realmente disposto em acabar com este mistério no Tratamento de Conexões com as funções: ignore_user_abort, connection_aborted connection_status e etc. Mistério este que faz algumas versões do PHP, com o servidor APACHE não funcionar...
Este é um assunto muito obscuro, sério, porque além de haver poucas fontes de informações sobre o fato, há pessoas que nunca conseguiram fazer estas funções funcionar; e outras que confirmaram que em versões anteriores, criadas em 2004, funcionava normalmente. Ainda houve histórias que nem no PHP + IIS funciona... Não sei a origem do problema, mas, como percebi que pouco se fala disso no Brasil, e tambem, uma procura por respostas cada vez maior em foruns americanos, resolvi, comentar tambem sobre o caso com mais especificidade entre nós brasileiros. O foco deste tópico é facilitar a procura por respostas sobre este tema importante. Gostaria muito que os comentários que venham a acontecer, sejam voltados a um unico objetivo: SOLUÇÕES PARA RESOLVER ESTE BUG ( se é que é um bug)... Pesso desculpas por ser um pouco intransigente, mas a verdade seja dita, nós sabemos que muitos estão passando por este problema, e sabemos tambem, o qão isso pode ajudar a nós programadores, logo não é necessário apenas dizer que está passando por isso blush.gif ... Eu pessoalmente, e atualmente, estou interessado nisso por causa de um script de batepapo que desenvolvi, mas isso não vem muito ao caso grin.gif ...
Na prática, o script abaixo é um exemplo da utilização das funções para melhor entendimento:
ignore_user_abort(???); //Não fará diferença no resultado se for 'true' ou 'false'
while (connection_status()==0) {
sleep(1);
echo "teste\n";
flush();
ob_flush();
//...
//Mostrará que o usuario ainda está conectado, retornando o texto: 'teste'
//...
if(connection_aborted()) {
//Se caso for desconectado
echo "desconectado";
exit;
}
}
?>
----------------------------------------
Este simples script não terá diferença no resultado se a função IGNORE_USER_ABORT for TRUE ou FALSE e tambem nenhuma das outras funções funcionaram normalmente ( ESTE É O BUG).
Para quem quer "navegar" no assunto e ainda não o conhece:
Pergunta
linconl
Olá pessoal,
Estou realmente disposto em acabar com este mistério no Tratamento de Conexões com as funções: ignore_user_abort, connection_aborted connection_status e etc. Mistério este que faz algumas versões do PHP, com o servidor APACHE não funcionar...
Este é um assunto muito obscuro, sério, porque além de haver poucas fontes de informações sobre o fato, há pessoas que nunca conseguiram fazer estas funções funcionar; e outras que confirmaram que em versões anteriores, criadas em 2004, funcionava normalmente. Ainda houve histórias que nem no PHP + IIS funciona... Não sei a origem do problema, mas, como percebi que pouco se fala disso no Brasil, e tambem, uma procura por respostas cada vez maior em foruns americanos, resolvi, comentar tambem sobre o caso com mais especificidade entre nós brasileiros. O foco deste tópico é facilitar a procura por respostas sobre este tema importante. Gostaria muito que os comentários que venham a acontecer, sejam voltados a um unico objetivo: SOLUÇÕES PARA RESOLVER ESTE BUG ( se é que é um bug)... Pesso desculpas por ser um pouco intransigente, mas a verdade seja dita, nós sabemos que muitos estão passando por este problema, e sabemos tambem, o qão isso pode ajudar a nós programadores, logo não é necessário apenas dizer que está passando por isso blush.gif ... Eu pessoalmente, e atualmente, estou interessado nisso por causa de um script de batepapo que desenvolvi, mas isso não vem muito ao caso grin.gif ...
Na prática, o script abaixo é um exemplo da utilização das funções para melhor entendimento:
----------------------------------------------------------------------
<?
ignore_user_abort(???); //Não fará diferença no resultado se for 'true' ou 'false'
while (connection_status()==0) {
sleep(1);
echo "teste\n";
flush();
ob_flush();
//...
//Mostrará que o usuario ainda está conectado, retornando o texto: 'teste'
//...
if(connection_aborted()) {
//Se caso for desconectado
echo "desconectado";
exit;
}
}
?>
----------------------------------------
Este simples script não terá diferença no resultado se a função IGNORE_USER_ABORT for TRUE ou FALSE e tambem nenhuma das outras funções funcionaram normalmente ( ESTE É O BUG).
Para quem quer "navegar" no assunto e ainda não o conhece:
<a href="http://www.php.net/manual/pt_BR/features.connection-handling.php">Tratamento de Conexões</a>
<a href="http://php.net/ignore_user_abort">ignore_user_abort_function</a>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.