之間的開放過程中,我有我需要使用一個PHP網頁交互的計算終端程序。我可以使用getRuntime()。exec(...)在JAVA中執行此操作,然後創建讀取和寫入流程的管道,並且該流程將在請求之間存在。但我不確定是否可以用PHP來完成,因爲我不認爲proc_open在請求期間保持進程活着?PHP和保持它打開請求
這裏是我創建網頁的流量。首先,用戶將在網頁上輸入一個命令,該命令將被輸入執行計算的終端程序,然後將答案返回給用戶。我將爲請求使用AJAX,以便在不刷新頁面的情況下返回答案。
現在我的問題是,我需要對下一個請求相同的流程交互,而不是開始一個新的。這是因爲終端程序有狀態。這就是我可以在裏面設置變量這樣的 - X = 5;
所以在我的第一個AJAX調用程序我通過
X = 5;
,並從程序的輸出返回給用戶的瀏覽器 -
X = 5
然後在我的下一個AJAX請求我通過
Y = X + 5;
,然後程序應該得到它傳回給用戶的瀏覽器輸出
Y = 10
。
但它是我的理解中的proc_open功能不請求之間保持狀態。我知道當服務器響應用戶的請求時,這個過程是關閉的。它是否正確?如果是的話,有什麼辦法可以做我需要做的事情嗎?
是的,但它不是我爲每個請求創建新進程的選項。我必須使用最初創建的相同流程。我的理解是,proc_open會爲請求打開一個進程,然後在請求結束時關閉該進程? –