在PHP中启动新进程/线程的最简单方法

Ita*_*vka 11 php performance multithreading process

场景:

  1. 共享主机,因此无法安装新扩展+无CRON
  2. 提交的请求需要执行一些繁重的过程.
  3. 我希望客户的答案尽可能快,并且繁重的工作要立即继续,但不能阻止客户端.
  4. 可以在新线程上(如果可能的话)启动新进程也没问题.

做这个的最好方式是什么?

Dav*_*dom 11

在*nix上:

exec('/path/to/executable > /dev/null 2>&1 &');
Run Code Online (Sandbox Code Playgroud)

在Windows上:

$WshShell = new COM('WScript.Shell'); 
$oExec = $WshShell->Run('C:\path\to\executable.exe', 0, false);
Run Code Online (Sandbox Code Playgroud)

这两个都会产生一个新的进程,它将同步运行,完全与父进程断开连接.只要您的主持人允许您这样做.