【问题标题】:running console app from php script从 php 脚本运行控制台应用程序
【发布时间】:2010-06-27 20:35:29
【问题描述】:

我从我的 php5 脚本启动了一个 linux 控制台应用程序,它启动正常,但随后终止。我尝试使用 system()、shell_exec 并尝试作为后台进程启动,但无济于事,它启动然后退出。

我想要实现的是从远程浏览器使用 php5 脚本启动控制台应用程序,然后它应该保持运行(就像我从 bash shell 启动它一样),然后我想发送命令(从 bash shell 这将是键盘敲击)从另一组 php5 脚本到控制台应用程序。希望它清楚我想要做什么。

如果有人可以提供有关执行此操作的最佳方法的一些信息,因为我认为我可能有一些根本性的错误。 我有一个运行 apache 的 Debian Lenny 盒子。控制台应用程序只是一个简单的程序,可以打印到标准输出并从标准输入读取。

【问题讨论】:

    标签: php


    【解决方案1】:

    您希望如何向此应用发送输入?它在哪里监听输入?

    它可能只支持交互式使用,并因此退出。或者,更简单的是,它可能会终止,因为它看到没有输入(没有任何输入或来自某个文件的任何内容),并且由于它没有连接到交互式 shell,因此它无事可做。等待无法与应用程序交互的用户的输入是没有意义的。

    【讨论】:

    • 嗨,我想我正在寻找一种从我的 php 脚本写入另一个进程(在本例中为控制台应用程序)的标准输入的方式谢谢
    【解决方案2】:

    对于每个请求,PHP 都会启动、编译并执行您的脚本。执行后,脚本存在。当脚本退出时,它正在使用的所有资源,包括文件句柄、数据库句柄和其他程序的管道都将终止。

    您将需要找到另一种方法来保持程序打开并让 PHP 与之通信。否则,对脚本的每个请求都将打开程序的新副本,然后在 PHP 脚本完成后两者都将退出。

    很遗憾,在不知道该程序是什么的情况下,很难就如何进行这项工作提出建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-22
      • 2017-10-15
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      相关资源
      最近更新 更多