在apache服务器上运行exe文件


run exe file on apache server

是否可以将exe文件放在apache服务器上,通过php表单发送文本文件,让exe处理文本文件,然后将结果发送回客户端?

或者这通常是不可能的(如果是,为什么)?

我环顾四周,但还没有得到确切的答案。有人说你应该使用exe作为cgi脚本,也有人说它只能在windows服务器上使用。

谢谢!

编辑

我的代码:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo exec('whoami');
echo exec("my.exe");
echo "<h1>Success</h1>";
?> 
</body>
</html>

在本地工作。这是否也适用于webspace公司托管的apache服务器?(前提是他们没有禁止exec)。

或者这通常是不可能的(如果是,为什么)?

没有"一般",这取决于主机提供商如何配置apache。如果您有vpsdedicated server"一般"就是您想要的。


需要考虑的几点:

  1. 安全并提供exe的完整路径,即:

    exec("c:''/someDir/my.exe");

  2. 确保运行apache的用户具有权限执行文件;

  3. 正如您可能已经知道的,exe文件在windows系统上运行,但不是仅限,如果您安装了wine,它们可以在Linux下运行
  4. 考虑使用shell_exec而不是exec,为什么?shell_exec返回所有输出流作为字符串exec返回最后一行的输出,但可以将所有输出作为数组提供被指定为第二参数