我从我的php5脚本启动一个linux控制台应用程序,它启动正常但终止。我已经尝试过使用system(),shell_exec并尝试以后台进程启动但无效但启动然后退出。
我想要实现的是从远程浏览器启动一个使用php5脚本的控制台应用程序,然后它应该保持运行(就像我从bash shell启动它一样),然后我想发送命令(从一个bash shell,它将是键盘笔画)到另一组php5脚本的控制台应用程序。希望清楚我要做的事情。
如果有人能提供关于这样做的最佳方式的一些信息,因为我认为我可能有一些根本错误的东西。 我有一个运行apache的Debian Lenny框。控制台应用程序只是一个打印到stdout并从stdin读取的简单程序。
答案 0 :(得分:0)
您希望如何向此应用发送输入?它在哪里听取输入?
它可能只支持交互式使用,并因此退出。或者,甚至更简单,它可能会终止,因为它看到没有输入(没有管道输入或没有任何文件),并且由于它没有连接到交互式shell,它无关。等待来自无法与应用程序进行交互的用户的输入是没有意义的。
答案 1 :(得分:0)
在每个请求中,PHP启动,编译脚本并执行它。执行后,脚本存在。当脚本退出时,它所使用的所有资源,包括文件句柄,数据库句柄和到其他程序的管道都将被终止。
您需要找到另一种方法来保持程序开放并让PHP与之通信。否则,对脚本的每个请求都将打开程序的新副本,然后在PHP脚本完成时两者都将退出。
不幸的是,如果不知道该程序是什么,就很难提供有关如何执行此操作的建议。