几天前,我发布了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);
}
?>这些评论是我尝试过的不同选择。$path的论点是,但决定直接提出路径,澄清我的问题:
,我需要一种“技巧”吗,就像我对Unix做的那样?
发布于 2011-09-05 21:08:44
在windows vista,7(我也不知道别人也不知道),xampp有一个问题。
apache不停止,不管您做什么,甚至关闭计算机。至少对我来说,解决办法是:
path\xampp\xampp_start
path\xampp\xampp_stop
右击:以管理员身份运行。
这样,apache就可以正确地完成,并且我可以在没有问题的情况下运行我的命令。
我希望这对http://drupal.org/node/224342有帮助
发布于 2011-09-04 20:57:46
我用的那个:
function _exec($cmd)
{
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run($cmd, 0,false);
error_log($cmd);
return $oExec == 0 ? true : false;
}/!\如果您的应用程序有一个接口,而且如果您使用的是vista或7,则您的服务器不能作为服务运行!
发布于 2011-09-04 20:58:03
你才刚刚开始'java‘。这意味着Java可执行文件(java.exe)必须存在,并且必须能够执行。由于您没有指定路径,所以它必须位于% path %环境变量中的目录中。
要进行测试,只需启动cmd并键入java<enter>。如果java被执行,您将知道至少已经安装了java,并且可以启动。如果没有,请检查是否有java,并指定java可执行文件的正确路径。
您还可以从命令行运行.jar,以查看它是否有效。如果它像这样工作,它也可能在PHP中工作。
https://stackoverflow.com/questions/7302067
复制相似问题