PHP マルチプロセス: PHP のプロセス制御関数 (PCNTL/スレッド制御関数) を使用します。
関数のリファレンスは次のとおりです。 http://www.php.net/manual/zh/ref.pcntl.php
のみ可能Unix のような OS で使用できますが、Windows では使用できません。
php をコンパイルするときは、-enable-pcntl を追加する必要があります。WEB サーバー環境ではなく、CLI モードでのみ実行することをお勧めします。
以下は、PHP マルチプロセスを実装するための簡単なテスト コードです:
コードをコピーします コードは次のとおりです:
< ;?php
declare(ticks=1);
$bWaitFlag = FALSE; /// プロセスの終了を待つかどうか
$intNum = 10;プロセスの総数
$pids = array() ; /// プロセス PID 配列
echo ("Startn"); $intNum; $i ) {
$pids[$i] = pcntl_fork();/// 子プロセスを生成し、現在の行からテスト実行コードを開始し、データ情報を継承しません親プロセスの
if(!$pids[$ i]) {
// サブプロセスのコードセグメント_Start
$str="";
sleep(5 $i); 🎜>for ($j=0;$jecho "$i -> " . " $str n";
exit();
// 子プロセス プロセスコードsegment_End
}
}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i ) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " .
}
}
エコー ("終了")
?>