私は、コマンドラインで実行されるPHPスクリプトを作成しています。このスクリプトの一環として、完了するまでに長い時間がかかる可能性がある別のスクリプトを作成/フォークする必要がある場合があります。私は元のスクリプトが完了するのをブロックしたくありません。 JavaScriptでこれをやっていたら、バックグラウンドでAJAXリクエストを実行できます。それは本質的に私がここでやろうとしていることです。私はフォークがいつ完了するかを知る必要はなく、ただ彼ら自身がスタートして完了するだけです。PHPスクリプトを非同期で実行するには?
これらのPHPスクリプトを非同期で実行するにはどうすればよいですか?
foreach ($lotsOfItems as $item) {
if ($item->needsExtraHelp) {
//start some asynchronous process here, and pass it $item
}
}
あなたは、「私は時にフォークを完全に知っている必要はありません」と、あなたのコードは言う「それに$アイテムを渡す」と言います。あなたは出力を取得したいのですか? – Jonas
PHPはスレッドをスープしません。子プロセスをフォークするか、より良い方法はcronを作ることです。 – RobertPitt
NeqO - いいえ、フォークは何も返す必要はありません。 – Andrew