如何异步运行PHP脚本?

And*_*rew 9 php asynchronous

我正在创建一个将通过命令行运行的PHP脚本.作为此脚本的一部分,有时我可能需要生成/分叉可能需要很长时间才能完成的不同脚本.我不想阻止原始脚本完成.如果我使用JavaScript执行此操作,我可以在后台运行AJAX请求.这基本上就是我在这里要做的.我不需要知道叉子什么时候完成,只需要他们开始并完成自己.

如何异步运行这些PHP脚本?

foreach ($lotsOfItems as $item) {
    if ($item->needsExtraHelp) {
        //start some asynchronous process here, and pass it $item
    }
}
Run Code Online (Sandbox Code Playgroud)

ajr*_*eal 3

int pcntl_fork ( void )

pcntl_fork ()函数创建一个子进程,该子进程与父进程的区别仅在于其 PID 和 PPID。请参阅系统的 fork(2) 手册页,了解有关 fork 如何在您的系统上工作的具体详细信息。

详细信息:http://php.net/manual/en/function.pcntl-fork.php

相关问题:PHP: pcntl_fork() 到底做什么?

不应在 Web 服务器环境中启用流程控制,如果在 Web 服务器环境中使用任何流程控制功能,则可能会发生意外结果。

详细信息: http: //www.php.net/manual/en/intro.pcntl.php