А вот такое необычное решение для длительных процессов нашлось в инете.
Но это только подобие запуска в фон, поскольку на самом деле в памяти тянется только одна нить.
<?php
set_time_limit(50);
function doSomething($counter)
{
// here we do somthing on server side
$f = fopen('test.txt','a');
fwrite($f,$counter." ".date("H:i:s")."n");
fclose($f);
}
ignore_user_abort(false);
if (ob_get_level() == 0) ob_start();
// redirect lient to some site or abort connecion
header("Location: http://www.ya.ru/");
ob_flush();
flush();
$counter = 1;
while (true)
{
ob_flush();
flush();
sleep(4);
doSomething($counter);
$counter++;
if ($counter > 10) break;
}
ob_end_flush();
?>
PHP Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor