用php执行.exe

时间:2013-12-26 15:11:45

标签: php exec exe

我正在使用localhost WAMP Server,我想直接从浏览器执行.exe(用命令行控制AIMP播放器) 我一直在尝试所有PHP函数来执行此操作,但它们都没有执行.exe文件。

使用exec(),我可以调用“java -jar”或启动.bat,但每次尝试.exe文件都会失败(即使我在PHP中调用了一个启动.exe本身的java应用程序)。 / p>

额外信息: 安全模式已禁用 PHP 5.3.13 Apache 2.2.22

你对我的问题有任何想法吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我建议编写简单的函数直接从浏览器创建背景exec()并设置一些输出 - 这可能会显示错误。所以:

function background_exec($command)
{
    if (substr(php_uname(), 0, 7) == "Windows"){
        pclose(popen('start /B ' . $command, 'r'));
    }
    else {
        exec($command . ' 2>&1 > /dev/null &');
    }
}

如您所见,这些内容可以在 win nix 下使用。在 win 下调用 WAMP 将是:

$command = 'C:\path_to_your_directory\program.exe > C:\path_to_your_directory\logfile.log';
background_exec($command);

这对我来说很好,但是,我从未遇到过以这种方式运行.exe文件的问题。

答案 1 :(得分:-1)

我最终选择使用 websockets 来解决我的问题(使用Ratchet)。像这样,我可以从我的浏览器调用我的脚本,将我需要的参数传递给可执行文件。

CLI中的PHP似乎对.exe文件上的exec()没有任何问题。