PHPWebページを使用して対話する必要のある計算端末プログラムがあります。getRuntime()。exec(...)を使用してJAVAでこれを実行し、プロセスとの間で読み取りと書き込みを行うパイプを作成すると、プロセスはリクエスト間に存在します。しかし、proc_openがリクエスト中にプロセスを存続させるとは思わないので、PHPで実行できるかどうかはわかりません。
これが私が作成しているウェブページの流れです。最初に、ユーザーはWebページでコマンドを入力します。このコマンドは、計算を実行するターミナルプログラムに送られ、次に回答がユーザーに返されます。ページを更新せずに回答が返されるように、リクエストにはAJAXを使用します。
今の私の問題は、新しいリクエストを開始するのではなく、次のリクエストで同じプロセスを操作する必要があるということです。これは、ターミナルプログラムに状態があるためです。つまり、このように変数を設定できます-X = 5;
したがって、私が渡すプログラムへの最初のAJAX呼び出しで
X = 5;
そして、ユーザーのブラウザに返されるプログラムからの出力は-
X = 5
次に、次のAJAXリクエストでパスします
Y = X + 5;
その後、プログラムは出力する必要があります
Y = 10
これはユーザーのブラウザに戻されます。
しかし、proc_open関数がリクエスト間の状態を維持しないことは私の理解です。サーバーがユーザーの要求に応答すると、プロセスが閉じられることを理解しています。これは正しいです?もしそうなら、PHPを使用して私がする必要があることを行う方法はありますか?