在apache服务器上运行exe文件

时间:2016-05-08 22:52:16

标签: php apache exe

是否可以将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服务器吗? (只要他们没有禁止执行)。

1 个答案:

答案 0 :(得分:5)

  

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

没有&#34; 通常&#34;,这取决于主机提供商如何配置apache。如果您有vpsdedicated server &#34;通常&#34; 就是您想要的。

需要考虑的一些要点:

  1. 安全播放并向exe提供完整路径,即:

    EXEC(&#34; C:/someDir/my.exe");

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

  3. 您可能已经知道,exe文件在Windows系统上运行,但没有 完全,如果您已安装wine,则可以在Linux下运行;
  4. 考虑使用shell_exec代替exec,为什么? shell_exec返回 所有输出流为字符串exec返回最后一行 默认输出,但可以提供所有输出作为数组 指定为第二个参数;