PHP exec导致程序崩溃

3
我使用一种名为Do It Again的鼠标记录器程序,现在我想从我的php脚本中启动它的快捷方式。当我将其作为独立程序运行并且未设置必须由管理员运行时,似乎一切正常,但是当我从php页面启动它时,Windows弹出窗口显示该程序已崩溃。"DoItAgain.exe遇到问题需要关闭。对此我们深感抱歉。"
问题不在于程序,而是我的代码:
$command= 'C:\\xampp\htdocs\poster\dia\\Monty_20.dia';
exec($command);

我尝试了以下方法,但是出现了Windows弹窗错误:“应用程序无法正确初始化”。
$command= ('START C:\\xampp\\htdocs\\poster\\dia\\Monty_20.dia');

非常感谢您的帮助。我已经在进行这项工作已经三个小时了,现在我快要抓狂了。

1个回答

1

尝试将您的命令复制到剪贴板中。按下 Windows-R 打开运行对话框,将其粘贴并单击运行。如果出现相同的错误,则问题与 PHP 相关或权限相关。

更有可能的情况是程序只是不起作用。在这种情况下,有经验的 Do It Again 用户可能会更有帮助。(也许他们的论坛?)


基于exec docs,它可能有助于重定向输出。
如果使用此函数启动程序,则为了使其继续在后台运行,必须将程序的输出重定向到文件或另一个输出流。如果未能这样做,将导致PHP挂起,直到程序执行结束。
因此,您的命令需要将输出重定向到空设备。我不使用Windows,但我相信它应该是类似于C:\path\to\my.exe > NUL

1
尝试运行,完美运作。我尝试将代码中使用的快捷方式更改为其他程序的快捷方式(不是exe文件,而是快捷方式),但它会崩溃。 - phoenixx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接