ignore_user_abort
(PHP 4, PHP 5, PHP 7, PHP 8)
ignore_user_abort — Define se uma desconexão de cliente deve abortar execução de script
Descrição
ignore_user_abort(
?bool $enable
= null
):
int
Ao executar o PHP como um script de linha de comando, e o terminal do script
for fechado antes do script ser terminado, o script irá morrer na próxima
vez que tentar escreve algo, a menos que o parâmetro
enable
seja definido para true
Parâmetros
-
enable
-
Se definido e não null
, esta função definirá a configuração ini ignore_user_abort
para o valor definido em enable
. Caso contrário, esta função
irá somente retornar a configuração anterior sem alterá-la.
Valor Retornado
Retorna a configuração anterior, como um inteiro.
Exemplos
Exemplo #1 Um exemplo de ignore_user_abort()
<?php
// Ignora o cancelamento pelo usuário e permite que o script
// seja executado para sempre
ignore_user_abort(true);
set_time_limit(0);
echo 'Testando gerenciamento de conexões no PHP';
// Executa uma repetição sem sentido que em algum momento
// talvez nos faça clicar fora da página ou
// clicar no botão de "Stop" do navegador.
while(1)
{
// A conexão falhou?
if(connection_status() != CONNECTION_NORMAL)
{
break;
}
// Espera por 10 segundos
sleep(10);
}
// Se esta linha for alcançada, então o 'break'
// foi ativado de dentro da repetição 'while'
// Aqui pode-se fazer algum registro, ou executar outras tarefas
// conforme necessário sem realmente ficar dependente do
// navegador.
?>
Notas
O PHP não irá detectar que o usuário cancelou a conexão até que uma
tentativa seja feita de enviar informação ao cliente. Simplesmente usar
uma isntrução 'echo' não garante que a informação é enviada, consulte a função
flush().