register_shutdown_function
(PHP 4, PHP 5, PHP 7, PHP 8)
register_shutdown_function — Registra uma função para ser executada no final da execução do script
Descrição
Registra a função nomeada por callback
para ser executada após o término da
execução do script ou após a chamada a exit().
Múltiplas chamadas a register_shutdown_function() podem ser feitas, e cada uma irá ser chamada na mesma ordem em que foram registradas. Se exit() for chamada dentro de uma função de desligamento, o processamento irá parar completamente e nenhuma outra função de desligamento será chamada.
As próprias funções de desligamento também podem chamar register_shutdown_function() para adicionar uma função de desligamento ao final da fila.
Parâmetros
callback
-
A função de desligamento a ser registrada.
As chamadas às funções de desligamento são executadas como parte da requisição, portanto é possível enviar resultados a partir delas e acessar buffers de saída.
args
-
É possível passar parâmetros para a função de desligamento passando parâmetros adicionais.
Valor Retornado
Nenhum valor é retornado.
Exemplos
Example #1 Exemplo de register_shutdown_function()
<?php
function desligamento()
{
// Esta é uma função de desligamento, aqui
// podem ser feitas as últimas operações
// antes que o script seja concluído.
echo 'Script executado com sucesso', PHP_EOL;
}
register_shutdown_function('desligamento');
?>
Notas
Note:
O diretório de trabalho do script pode mudar dentro da função de desligamento em alguns servidores web, por exemplo, no Apache.
Note:
As funções de desligamento não serão executadas se o processo for encerrado com um sinal SIGTERM ou SIGKILL. Embora um SIGKILL não possa ser interceptado, pode ser usada a função pcntl_signal() para instalar um manipulador para um SIGTERM que usa exit() para terminar de forma limpa.
Note:
As funções de desligamento são executadas separadamente do tempo monitorado por max_execution_time. Isso significa que mesmo que um processo seja encerrado por ter sido executado por muito tempo, as funções de desligamento ainda serão chamadas. Além disso, se o
max_execution_time
acabar enquanto uma função de desligamento estiver em execução, ela não será encerrada.
Veja Também
- auto_append_file
- exit() - Mostra uma mensagem e termina o script atual
- fastcgi_finish_request() - Envia todos os dados de resposta ao cliente
- A seção sobre manipulação de conexões