あなたが唯一のプロセス制御関数に(PCNTLライブラリ)が含まれPHPのビルドでのLinuxの風味システム上で行うことができます探している
が
あなたは見つけることは、ドキュメントがここにあります: http://php.net/manual/en/book.pcntl.php
具体的には、プロセスを「フォーク」することです。これにより、すべてのメモリ参照を含む現在のPHPスクリプトのプロセスと同一のコピーが作成され、両方のスクリプトが同時に実行を継続できるようになります。
"親"スクリプトはそれがまだプライマリスクリプトであることを認識しています。そして、 "子供"のスクリプト(またはスクリプトは、あなたが望むようにこれを何度でもやることができます)が子供であることを認識しています。これにより、親と子に対して別のアクションを選択することができます。子プロセスがデーモンになったら、別のアクションを選択することができます。
$pid = pcntl_fork(); //store the process ID of the child when the script forks
if ($pid == -1) {
die('could not fork'); // -1 return value means the process could not fork properly
} else if ($pid) {
// a process ID will only be set in the parent script. this is the main script that can output to the user's browser
} else {
// this is the child script executing. Any output from this script will NOT reach the user's browser
}
側(あるいは長い後)に沿って実行を続けることができ、子プロセスをスピンオフするためのスクリプトを可能にする親スクリプトの出力:これを行うには
、あなたはこれらの線に沿って何かを使用したいですそれは内容であり、終了します。
これらの関数はPHPビルドにコンパイルする必要があり、大多数のホスティング企業は自分のサーバー上でこれらの関数にアクセスすることができないことに注意してください。これらの機能を使用するには、通常、仮想プライベートサーバ(VPS)または専用サーバが必要です。クラウドホスティングの設定でさえ、通常、これらの機能を誤って(または悪意のある)使用した場合、サーバを簡単に持ち運ぶことができるようになります。
私はphpが非同期サポートを持っているのか分かりません。 – Zaffy
いいえ、そうではありません。スクリプトの応答や完了を待つことなく、スクリプトを開始したい。 – Shrinath
要求を送信しようとしましたが、終了せず、その応答を読み取っていません – Zaffy