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

Reply via email to