In the last example the call to ignore_user_abort() is used incorrectly. The manual clearly states that is the first parameter is not given, only the value is returned!
Specify a boolean value like this,
ignore_user_abort(TRUE);
ignore_user_abort
(PHP 4, PHP 5)
ignore_user_abort — Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
Descrição
int ignore_user_abort
([ bool $setting
] )
Estabelece se um cliente desconectado causa abortagem da conexão.
Parâmetros
- setting
-
Se não é definido, a função irá somente retorna a configuração atual.
Valor Retornado
Retorna a configuração anterior, como booleano.
Notas
PHP não irá detectar que o usuário tenha abortado a conexão até tentar enviar alguma informação para o cliente. Simplesmente usando um comando echo não é garantido que a informação seja enviada, veja flush().
Veja Também
- connection_aborted()
- connection_status()
- Tratamento de conexões para uma descrição completa do tratamento de conexão no PHP.
User Contributed Notes
ignore_user_abort
ignore_user_abort
adrian
26-Apr-2007 07:37
26-Apr-2007 07:37
spiritual-coder at spiritual-coder dot com
13-Jul-2006 01:45
13-Jul-2006 01:45
If you want to simulate a crontask you must call this script once and it will keep running forever (during server uptime) in the background while "doing something" every specified seconds (= $interval):
<?php
ignore_user_abort(); // run script in background
set_time_limit(0); // run script forever
$interval=60*15; // do every 15 minutes...
do{
// add the script that has to be ran every 15 minutes here
// ...
sleep($interval); // wait 15 minutes
}while(true);
?>
15-Dec-2005 06:44
"It will return the previous setting" -- not quite. It returns an int, not a bool (as per the syntax description)
Rustam
26-Jun-2005 08:57
26-Jun-2005 08:57
I wrote a simple function that can "spawn" another thread within the webserver by making async http request. The page that is being spawned can call ignore_user_abort() and do whatever it wants in the background...
<?php
function http_spawn($page)
{
$basepath=ereg_replace('[^/]*$', '', $_SERVER['PHP_SELF']);
$cbSock=fsockopen('localhost', $_SERVER['SERVER_PORT'], $errno, $errstr, 5);
if ($cbSock)
{
fwrite($cbSock, "GET {$basepath}{$page} HTTP/1.0\r\n"
."Host: {$_SERVER['HTTP_HOST']}\r\n\r\n");
}
}
?>
Example:
<?php
if ($search_initialized)
http_spawn("ftindex.php");
?>
qartis at qartis dot com
06-Sep-2004 08:22
06-Sep-2004 08:22
Note that the function name and description seem to be contradictory:
- ignore_user_abort (TRUE, I want to ignore the user's abort request)
- Set whether a client disconnect should abort script execution (TRUE, I want to set this behavior)
The function name is the authoritative one: a value of TRUE will ignore the user's abort.
plamen at pulsator dot com
29-Mar-2001 02:21
29-Mar-2001 02:21
The script should output something to the browser in order to abort. If there is no output the script keeps on running.

highlight_string