我在stackoverflow上看过很多帖子,但没有一个帮助过。
我正在尝试运行.NET Windows窗体应用程序(它不包含任何forms/GUI/dialogs/so
,但由于应用程序的性质,它必须是Windows窗体)。我尝试了shell_exec()
,exec()
,passthru()
等,但所有这些都失败了(他们花了很长时间,PHP脚本永远不会终止)
然后,我尝试运行一个简单的C ++(非托管)控制台应用程序 - 它工作并返回正确的输出并返回代码。
然后,我想,也许我可以调用这个C ++ EXE并让它进一步调用Windows应用程序(即在C ++中使用SYSTEM("path_to_exe.exe");
)
我编译它时工作正常,但同样,
当PHP调用此控制台(使用新代码运行.NET EXE)时,PHP再次占用infinte时间并且永不停止。为什么呢?
我是否可以通过PHP在服务器上成功运行.NET EXE?
非常感谢!
答案 0 :(得分:1)
“有没有一种方法可以在PHP上成功运行我的.NET EXE?” :你的EXE已经在运行了!
所以问题出现在你的.NET EXE中,我不知道它是什么类型的EXE但你可以使用AutoIt脚本来执行它然后在X秒之后关闭进程,这里是一个片段代码(别忘了编译它):
Run("C:\Program Files (x86)\K-Lite Codec Pack\Media Player Classic\mpc-hc.exe"); // You may use a relative path !
Sleep(5000); // Wait for 5 seconds
ProcessClose("mpc-hc.exe"); // Close the process