【问题标题】:Execute php script (Windows)执行 php 脚本 (Windows)
【发布时间】:2011-09-04 20:53:13
【问题描述】:

前几天我发布了this thread,在Unix上成功解决。

现在我搬到了 Windows,我也遇到了同样的问题。

我需要从 Web 应用程序执行命令。它必须执行存储在系统中的.jar。我查看了谷歌,发现了一些我需要做的改变。

执行命令的函数是:

<?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);
}
?>

cmets 是我尝试过的不同选项。 $path 是论据,但决定直接放路径,以澄清我的问题:

我需要像在 Unix 上那样的“技巧”吗?

【问题讨论】:

    标签: php


    【解决方案1】:

    我用的那个:

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

    /!\如果你的应用有接口,而且你使用的是vista或者7,你的服务器就不能作为服务运行!

    【讨论】:

    • 我的应用程序有一个接口,我正在使用 7...意思是……对不起,这个领域的新手……
    • 应用程序可能已经启动,但您看不到。您使用的是哪个服务器?阿帕奇,IIS?
    • @Blanca WScript.Shell 提供通过 COM 对 shell 的直接访问,我之前提到过 here 并附有官方文档的链接,其中解释了它的作用/工作原理。
    • 是的.. 她是... 她应该从用户启动 apache,而不是从 会话控制台
    • Apache 是作为服务启动的吗?如果是,这可能不起作用更好...它必须作为服务启动,因为您有一个GUI
    【解决方案2】:

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

    要进行测试,只需启动 cmd 并输入 java&lt;enter&gt;。如果 java 被执行,你至少会知道你已经安装了 java 并且可以启动。如果没有,请检查您是否有 java 并指定 java 可执行文件的正确路径。

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

    【讨论】:

    • 我安装了 jaava,如果我运行相同的命令,它运行没有问题。那我猜,问题一定是在别的地方……
    【解决方案3】:

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

    apache 不会停止,无论您做什么,甚至关闭计算机。至少对我来说,解决方案是:

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

      路径\xampp\xampp_start
      路径\xampp\xampp_stop

    右键:以管理员身份运行。

    这样 apache 就可以正常完成了,我可以毫无问题地运行我的命令了

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

    【讨论】:

      猜你喜欢
      • 2012-05-19
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多