John David Anderson wrote:
...
You may not need to fork. Try appending an ampersand to the end of the
command:
$ php doReportScript.php &
That'll run the process in the background (that way PHP won't wait for
a return).
-- John
I'm trying this out, but can't get it to work. I've got two files:
fork.php:
<?php
$path = '/home/ksnyder/www/test/sleep.php';
exec("php $path &");
echo "<p>Called script $path and didn't wait for return value</p>";
?>
sleep.php:
<?php
sleep(10);
file_put_contents(
'/home/ksnyder/www/test/sleep.log',
date('Y-m-d H:i:s') . ' ' .print_r($argv,true)
);
?>
From the command line I call "sudo -u apache php
/home/ksnyder/www/test/sleep.php &" and the shell immediately returns
and the test file is written 10 seconds later (cool!). But when I go to
a browser to hit fork.php, the script takes 10 seconds, writes to my
test file, _then_ echos the html. Am I missing something?
Also, is there a similar way to do this on Windows?
-- Ken
_______________________________________________
UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net