PHPのコンパイル時、-enable-PCNTLを追加する必要があり、かつ唯一のCLIモードで実行を推奨しますが、WEBサーバ環境を実行しないでください。
マルチプロセスの簡単なテストコードを達成するために、次のPHP:
コードは以下の通りであります:
<?PHPの DECLARE(ティック= 1 ); $ bWaitFlag = FALSE ; // /プロセスの終了を待機するかどうか $ INTNUM = 10; // 合計/プロセス の$ PIDS = 配列(); // / PIDプロセスアレイ エコー(「スタート\ N-」); のために($ I = 0; $ I < $ INTNUM ; $ I ++ ){ $ PIDS [ $ I ] = pcntl_fork(); // /生成サブプロセスが、離れて現在の行からのテストラン下コード、およびデータ情報は、親プロセスを継承しません IF(!$ PIDS [ $ I ]){ // 子プロセスコードセグメント_start $ STR = "" ; SLEEP(5+ $ I ) のために($ J = 0; $ J < $ I、$ J ++){ $ STR = "*" 。} エコー " $ I - >。" 時間() " $ STR \ N-" ; 出口(); // 子プロセス・コード・セグメント・_END } } IF($ bWaitFlag ) { のために($ I = 0; $ I < $ INTNUM ; $ I ++){ pcntl_waitpid($のPID [ $ I ]、$ステータス、WUNTRACED)。 エコー "待つ$ Iを - >"。時間()。"\ n"は、 } } エコー( "エンド\ n" ); ?>