【发布时间】:2020-05-06 13:30:03
【问题描述】:
假设我编写了一个简单的 C 程序(语言无关紧要),编译它,现在我有了可执行文件。
我想知道是否有一种简单的方法可以在网络服务器上为程序提供服务,因此对于与服务器的每个连接,都会执行程序并且 request.body 将被视为标准输入,并且在 response.body 中的输出将被送回去。
【问题讨论】:
标签: executable remote-server serve
假设我编写了一个简单的 C 程序(语言无关紧要),编译它,现在我有了可执行文件。
我想知道是否有一种简单的方法可以在网络服务器上为程序提供服务,因此对于与服务器的每个连接,都会执行程序并且 request.body 将被视为标准输入,并且在 response.body 中的输出将被送回去。
【问题讨论】:
标签: executable remote-server serve
假设您的程序名称是:myprogram 您可以使用:
<?php
echo shell_exec("myprogram");
?>
或者:
<?php
echo shell_exec("/bin/bash myprogram");
?>
在上述示例中,myprogram 应该在当前网络文件夹中。
如果您在其他文件夹中有myprogam,则使用完整路径。
【讨论】:
是的。如果您有一个 Web 服务器,它将接收来自 HTML 的 INPUT 并将其发送到您的后端,以便您的 C 程序接收它,并根据该输入执行,然后您通过后端收集该输出,并通过Web 服务器以某种可读或可下载的方式返回访问者的屏幕。
有很多简单的例子,其中(例如)Web 服务器 (apache2) 将从 Web 页面获取输入,将其发送到后端 (PHP),然后 php 执行外部应用程序对输入进行某些操作,然后返回它通过输出缓冲区到 PHP,然后以某种格式将其推回访问者的页面:
结帐:PHP's ob_start() 获取文档和示例
【讨论】: