PHP exec导致程序崩溃

时间:2012-01-02 23:27:30

标签: php windows exec

我正在使用一个名为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');

非常感谢任何帮助。我已经在这里待了3个小时了,我正在拉出我留下的小头发。

1 个答案:

答案 0 :(得分:1)

尝试将命令复制到剪贴板。按 Windows-R 以获取运行对话框,您可以在其中粘贴它并单击“运行”。如果您收到相同的错误,则问题与PHP相关或与权限相关。

更可能的情况是程序无法正常工作。在这种情况下,具有Do It Again经验的人可能会更有帮助。 (他们的论坛,也许?)


根据exec docs,可能有助于重定向输出。

  

如果程序是使用此功能启动的,则为了它   继续在后台运行,程序的输出必须是   重定向到文件或其他输出流。没有这样做会   导致PHP挂起,直到程序执行结束。

因此,您的命令需要将输出重定向到空设备。我不使用Windows,但我相信它会像C:\path\to\my.exe > NUL