Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从PHP网页执行交互式shell程序_Php_Shell_Exec_Interactive - Fatal编程技术网

如何从PHP网页执行交互式shell程序

如何从PHP网页执行交互式shell程序,php,shell,exec,interactive,Php,Shell,Exec,Interactive,假设我有一个本地网页,当按下一个按钮时,执行一个C语言的程序。我已经可以做到了。问题是这个程序输出日志,需要用户输入。我的问题是:如何显示类似bash的窗口并通过它运行此程序,以便通过屏幕查看输出和输入?我为jquery开发插件,您可以查看这个。如果您将C程序编写为JSON-RPC,则可以使用一行javascript创建终端 另一种解决方案是根本不使用PHP,而是将代码创建为用C甚至Bash编写的CGI 更新:您可以将程序修改为CGI脚本 int main() { printf("Conte

假设我有一个本地网页,当按下一个按钮时,执行一个C语言的程序。我已经可以做到了。问题是这个程序输出日志,需要用户输入。我的问题是:如何显示类似bash的窗口并通过它运行此程序,以便通过屏幕查看输出和输入?

我为jquery开发插件,您可以查看这个。如果您将C程序编写为JSON-RPC,则可以使用一行javascript创建终端

另一种解决方案是根本不使用PHP,而是将代码创建为用C甚至Bash编写的CGI

更新:您可以将程序修改为CGI脚本

int main() {
  printf("Content-Type: text/plain\n\n");
  // code of your program here
}
并将其放在cgi bin目录中,通过浏览器运行。它在浏览器中显示输出,也许您可以使用,并指定要作为shell运行的程序:

ajaxterm.py --command=/your/command --port=yourfavoriteport

您可以将用户重定向到指定的端口,或者通过iframe显示终端。

SSH不是更安全/安全/实用/简单的方法吗?为什么不将程序输出解析回php并显示在屏幕上(浏览器)。我会坚持使用C,将整个程序作为C(exe)分发。php和C的值是多少?在任何情况下,c程序都必须分发给用户。也许知道c和php的功能会有帮助,我只想在另一个窗口中打开终端。它不必显示在网页上。@gvalero87没有说明c程序的工作方式,甚至没有说明为什么首先需要php。你的建议超出了我的想象。我只是想打开另一个窗口的终端。它不必出现在网页上。虽然我更喜欢你的想法。这是我的论文项目,如果我能在短时间内完成,我会完成的。在任何情况下,你知道怎么做吗?你可以使用这个片段,但它不处理目录遍历,只执行“QUERY_STRING”中的代码,它不安全,没有密码检查。