サーバー上でスクリプトを実行する場合、時間のかかるタスクが避けられず、複数のプロセスを使用することが不可欠です。 PHP5.5 以降、PHP は開発ニーズを満たすためにマルチプロセス要素を追加し始めました。
#注意
複数のプロセスを実装するには有効にする必要がある拡張機能: pcntl、ポジックス。
PHP のマルチプロセス プログラミングは Windows 環境ではサポートされていません。この記事は主に Linux 環境で開発およびテストされています。主な機能 (推奨学習: PHP ビデオ チュートリアル
)$pid = $pcntlInstall ? pcntl_fork() : 0; if ($pid == -1) { //fork失败 } elseif ($pid > 0) { //父进程 ...... } elseif ($pid == 0) { //子进程 ...... }
pcntl_signal: 信号処理コールバック関数を登録して、子プロセスの終了時に送信されるシグナルをキャプチャします。
/配合pcntl_signal使用 declare (ticks = 1); //当子进程退出时,会触发该函数,当前子进程数-1 pcntl_signal(SIGCHLD, function ($signo) { switch ($signo) { case SIGCHLD: echo $curChildPro . 'SIGCHLD', PHP_EOL; $curChildPro--; break; } });
pcntl_wait: 親プロセスを一時停止し、子プロセスが終了するのを待つために使用されます。出口###
以上がPHPは複数のプロセスをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。