如何提供可执行文件

How to serve an executable

假设我写了一个简单的 C 程序(语言无关紧要),编译了它,现在我有了可执行文件。

我想知道是否有一种简单的方法可以在网络服务器上为程序提供服务,因此对于与服​​务器的每个连接,程序都会执行并且 request.body 将被视为标准输入,并且在 response.body 输出将被发回。

是的。如果你有一个网络服务器,它将接收来自 HTML 的 INPUT 并将其发送到你的后端,以便你的 C 程序接收它,并根据该输入执行,然后你通过你的后端收集该输出,并且return 它通过网络服务器以某种可读或可下载的方式返回到访问者的屏幕。

有许多简单的示例,其中(例如)Web 服务器 (apache2) 将从 ma 网页获取输入,将其发送到后端 (PHP),php 然后执行外部应用程序对输入做一些事情,然后 return 它通过输出缓冲区到 PHP,这反过来又以某种格式将它推回访问者页面:

签出:PHP's ob_start() 文档和示例

假设您的程序名称是:myprogram 您可以使用:

<?php    
    echo shell_exec("myprogram");
?>

或:

<?php    
    echo shell_exec("/bin/bash myprogram");
?>

在上面的示例中 myprogram 应该在当前的网络文件夹中。

如果您在其他文件夹中有 myprogam,请使用完整路径。