私のプロジェクトでは、if-else条件で実行される3つのPHPスクリプトが必要です。最初のスクリプトは、サイトのインデックスページにロードされ、条件が設定されているかどうかを確認し、条件が満たされている場合は、2番目のスクリプトを呼び出します。 2番目のスクリプトは、他の条件が設定されているかどうかをチェックし、すべてが良好であれば最終的に最後のスクリプトを呼び出します。php shell_exec()バックグラウンドでスクリプトを実行するのに必要なヘルプ
これはif文にスクリプトを含めることで可能ですが、最終的な結果はMySQLのダンプホギングなので、元のトリガページとは独立して実行する必要があります。
また、これらのスクリプトは、インデックスページでのユーザーの操作に関係なく、トリガーされた後も引き続きその作業を行う必要があります。
最後のこと:winとnixで実行できるはずです。
どうすればよいですか?
次のコードは意味がありますか?
if ($blah != $blah-size){
shell_exec ('php first-script.php > /dev/null 2>/dev/null &');
}
//If the size matches, die
else {
}
ありがとうございます。
更新:他の誰かが同じ取引を行っている場合に備えてください。 スクリプトをcgiとして実行するとPHPにバグがあるようですが、Apacheのコマンドラインはテストしたすべてのバージョンで動作します。
exec("php-cli mybigfile.php > /dev/null 2>/dev/null &");
それとも、シェルとしてそれを呼び出すことができます。
ので代わりに私はこのようなスクリプトを呼び出しバグにhttps://bugs.php.net/bug.php?id=11430
を参照してください。それはnixシステムで動作しますが、私のローカルウィンドウは絶望的なので、誰かがそれをWindows上で実行してもうまくいけば、これを更新してください。
cron/windowsスケジューラによって実行される別のスクリプトワーカーを作成 – zerkms
この全体のポイントは、cronを使用せず、ユーザーがトリガーすることでした。:) – Chris81