我一直在尝试在服务器端执行 .exe 文件。
换句话说,我真正想要的是在用户将文件上传到服务器后执行一个 .exe 文件(转换此文件)。
我试过打开记事本看看问题是出在我的可执行文件还是在php代码中,但它都没有运行(尽管如果我检查任务管理器,我可以看到它有一个属于系统的notepad.exe进程用户)。我猜这违反了 Windows 上的一些安全措施
我应该说我在 Windows 7 x64 上运行 XAMPP。
这就是我正在做的事情:
exec("cd ../../ConvertObj/ && ConvertObj.exe", $data, $ret);
//for debuggging
var_dump($data);
var_dump($ret);
如您所见,我也在尝试读取输出以试图找到问题。现在,您可能想知道为什么我也将其标记为 unity3d。这个可执行文件是一个 Unity3d 独立 .exe 。对于我读过的内容,有一个命令行参数允许 Unity3d 在没有 GUI 的情况下运行,但不幸的是,这是一个仅限 PRO 的参数......我真的不介意在服务器 xD 上查看 GUI
所以,输出我得到(使用unity3d .exe)是
array (size=2)
0 => string 'Mono path[0] = 'C:/xampp/htdocs/ConvertObj/ConvertObj_Data/Managed'' (length=67)
1 => string 'Mono path[1] = 'C:/xampp/htdocs/ConvertObj/ConvertObj_Data/Mono'' (length=64)
我虽然有点奇怪。我的猜测是 Windows 正在阻止服务器上的所有 GUI 应用程序,因为 dir 命令完美地工作,我认为这两行是 Unity3D 抱怨的东西......有什么想法吗?