是否可以将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服务器吗? (只要他们没有禁止执行)。
答案 0 :(得分:5)
或者这通常是不可能的(如果是这样,为什么)?
没有&#34; 通常&#34;,这取决于主机提供商如何配置apache。如果您有vps
或dedicated server
&#34;通常&#34; 就是您想要的。
需要考虑的一些要点:
安全播放并向exe
提供完整路径,即:
EXEC(&#34; C:/someDir/my.exe");
让确定运行apache的用户拥有权限 执行文件;
exe
文件在Windows系统上运行,但没有
完全,如果您已安装wine,则可以在Linux下运行; shell_exec
代替exec
,为什么? shell_exec
返回
所有输出流为字符串。 exec
返回最后一行
默认输出,但可以提供所有输出作为数组
指定为第二个参数;