之间的开放过程中,我有我需要使用一个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会为请求打开一个进程,然后在请求结束时关闭该进程? –