>
> > and exec/shell (but that
>
>> doesn't seem to be asynchronous), but neither seems optimal.
>>
>
> It can be if you redirect the output streams and put an ampersand after it:
>
> <?php
> exec('sleep 5 > /dev/null 2>/dev/null &');
> echo 'Script ended';
> ?>
>
> This tiny sample should end immediately, and the sleep command should run
> on regardless.
>
> Thanks so much for the suggestion, that's what I ended up doing and it
worked, after some fiddling. Just as a side note, does it execute from the
current directory of the file? Previously, I tried calling exec('php
scripts/foo.php'), but it seemed like there was some weird interaction
between different required files. E.g., this was the layout:
orig.php
scripts/foo.php
incl.php
orig.php had the exec line, and foo.php had require_once(../incl.php). But
it seemed like the exec call caused foo.php to execute from the scripts
directory while the require_once caused incl.php to also execute from the
scripts directory.
How does php determine what the working directory is?