php 异步多进程脚本
时间: 2023-02-09 11:08:44 浏览: 74
在 PHP 中,你可以使用 pcntl 扩展来创建多个进程。通常,你可以使用 pcntl_fork() 函数来创建一个新的进程,然后在父进程和子进程中分别执行不同的代码。
举个例子,假设你有一个 PHP 脚本,需要在多个进程中并行执行一些任务。你可以使用以下代码来实现这个目的:
```
$numProcesses = 10;
for ($i = 0; $i < $numProcesses; $i++) {
$pid = pcntl_fork();
if ($pid == -1) {
// fork failed
exit(1);
} else if ($pid) {
// parent process
} else {
// child process
// do some task here
exit(0);
}
}
// wait for all child processes to finish
for ($i = 0; $i < $numProcesses; $i++) {
$status = 0;
$pid = pcntl_wait($status);
if ($pid > 0) {
// process exited successfully
} else {
// process exited with error
}
}
```
上面的代码会创建 $numProcesses 个进程,并在每个进程中执行 "do some task here" 这段代码。最后,父进程会等待所有子进程都结束,然后再继续执行后续代码。
注意,这种方式并不是真正意义上的异步多进程,因为父进程会等待所有子进程都结束后再继续执行。如果你需要真正意义上的异步多进程,你可以使用异步信号或其他方式来实现。