执行php脚本(Windows)

时间:2011-09-04 20:53:13

标签: php

前几天我发表了this thread,并在Unix上成功解决了这个问题 现在我搬到了Windows,我遇到了同样的问题。 我需要从web应用程序执行命令。它必须执行存储在系统中的.jar。我查看了Google,发现了一些我需要做的更改。

执行命令的功能是:

<?php
if($_POST["name"] == "")
    echo "name is empty";
else{
    $path = $_POST["name"];
    //$command = 'DISPLAY=:0 java -jar '.$path'; -> Used in Unix
    //$command = 'java -jar ../../../../simulaciones/tanqueCalentamiento.jar';
        $command = 'java -jar ..\..\..\..\simulaciones\tanqueCalentamiento.jar';
    //system($command);
    exec($command);
}
?>

评论是我尝试过的不同选项。 $path是争论的焦点,但决定直接提出道路,对我的问题进行澄清。

我是否需要一种“技巧”,就像我为Unix做的那样? Thaanks提前

3 个答案:

答案 0 :(得分:2)

我使用的那个:

function _exec($cmd)
{
   $WshShell = new COM("WScript.Shell");
   $oExec = $WshShell->Run($cmd, 0,false);
   error_log($cmd);
   return $oExec == 0 ? true : false;
}

/!\如果您的应用程序有界面,并且您使用的是vista或7,则您的服务器无法作为服务运行!

答案 1 :(得分:0)

你刚开始'java'。这意味着Java可执行文件(java.exe)必须存在,并且必须能够执行。由于未指定路径,因此它必须位于%PATH%环境变量中的目录中。

要进行测试,只需启动cmd并输入java<enter>即可。如果java被执行,你至少知道你将安装java并且可以启动。如果没有,请检查是否有java并指定java可执行文件的正确路径。

您还可以从命令行运行.jar以查看它是否有效。如果它像这样工作,它也可能在PHP中工作。

答案 2 :(得分:0)

在windows vista中,7(我不知道是否在其他人中),xampp存在问题。

apache不会停止,无论你做什么,甚至关闭电脑。至少对我来说,解决方案是:

  1. 卸载xamp并重新安装。
  2. 始终以管理员身份启动/停止:

    路径\ XAMPP \ xampp_start
    路径\ XAMPP \ xampp_stop

  3. 右键单击:以管理员身份运行。

    通过这种方式,apache正确完成,我可以运行我的命令而不再有任何问题

    我希望这会有所帮助 http://drupal.org/node/224342