是否可以将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。如果您有vps
或dedicated server
,"一般"就是您想要的。
需要考虑的几点:
-
安全并提供到
exe
的完整路径,即:exec("c:''/someDir/my.exe");
-
确保运行apache的用户具有权限执行文件;
- 正如您可能已经知道的,
exe
文件在windows系统上运行,但不是仅限,如果您安装了wine,它们可以在Linux下运行 - 考虑使用
shell_exec
而不是exec
,为什么?shell_exec
返回所有输出流作为字符串。exec
返回最后一行的输出,但可以将所有输出作为数组提供被指定为第二参数