【发布时间】:2014-07-11 20:08:13
【问题描述】:
所以我有一个主 php 线程,我想在其中调用一个函数,使其在后台运行并且不会让用户等待,因为该函数需要很长时间才能执行。
$logFile = 'app-output.txt';
$command = 'nohup /export/php -r "require \'/export/wiki.php\';update_wiki(1);" &';
$command.= ' > "'.$logFile.'" 2>&1';
exec($command);
所以我尝试使用 exec 函数执行此操作,但由于某种原因它没有在后台运行。 WHere wiki.php 是具有 update_wiki 功能的文件,需要很长时间,所以我想将用户重定向回他来自的页面,而这个功能完成它的工作,因为它无论如何都是独立的并将输出转储到其他地方
【问题讨论】:
-
exec不在后台运行,您需要pcntl-fork.php -
您能否详细说明如何使用 pcntl-fork 运行此 update_wiki()?