gpt4 book ai didi

java - 如何通过 PHP 代码运行 shell 命令?

转载 作者:IT王子 更新时间:2023-10-29 00:22:11 27 4
gpt4 key购买 nike

我试图在我的 php 代码的后端运行一个 Jar 文件。但我没有得到所需的输出。有一个 jar 文件在后台运行并返回任何关键字的网页排名和域给它。我附上了代码,请给我建议任何解决方案,因为当我在终端上运行它时,它给出了正确的输出。

代码如下:

    <?php
set_time_limit(0);
function returnJarPath()
{
$jarPath = $_SERVER['DOCUMENT_ROOT'] . "myFolder/tools_new/includes/Rank.jar";
return $jarPath;
}
$jar = returnJarPath();
$command = "java -jar $jar aspdotnet/microsoft.com";//Passing the Argument to the Jar file.


$shellOutput = shell_exec($command);
print "The Shell Output is : " ; var_dump($shellOutput);print "<br />";
exec($command,$executeCommmand);
print "The Exec returns the value : " ; var_dump($executeCommmand);print "<br />";
passthru($command,$passthruCommand);
print "The Passthru returns the value : " . $passthruCommand. "<br />";
?>

我刚刚检查了 apache 的错误日志,我发现的最后一个错误是:

sh: java: command not found

但是正如我已经说过的,我一直在通过 SSH 使用相同的命令来运行 Java 命令。所以不存在服务器上没有安装 JAVA 的可能性。请帮我解决这个问题...

最佳答案

如果 jar 文件写入标准输出,您可以使用 exec。

下面是我如何使用它的例子:

may be first: exec("cd jar dir"); // if jar fine needs to be executed from the same dir
$output = exec("/usr/bin/java -jar $jar aspdotnet/microsoft.com");

但是正如你所说:

sh: java: command not found

这意味着没有从 php 到 java 的路径别名。只需使用可执行文件/usr/bin/java 的完整 java 路径。

关于java - 如何通过 PHP 代码运行 shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3684742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com