gpt4 book ai didi

java - PHP exec() 在执行 java -jar 命令时返回空数组(无输出)

转载 作者:行者123 更新时间:2023-11-30 11:14:32 25 4
gpt4 key购买 nike

我有一个可用的 web php 应用程序。我正在使用 win 7 并使用 apache。

现在我尝试在 php 中执行此 java 命令并在网站上显示结果:

exec("java -jar C:\webroot\ipt\themes\ipt\views\site\Skills.jar 5 10 5.5 10 2 5 8 3 10 6 11 2 15 4", $output);

for ($index = 0; $index < count($output); $index++) {
echo $output[$index]." ";
}

但是 $output 是一个空数组——没有输出。我没有收到任何错误或崩溃。输出只是一个基本字符串。我尝试在 cmd 中输入相同的命令,它可以正常工作 - 返回预期的输出。

所以我尝试了不同的命令来查看 exec() 是否有问题,所以我尝试了“ipconfig”,它在网站上完美地显示了输出。

因此,我认为它与 PHP 或 Apache(或两者)有关。

我搜索了一些其他人的类似问题并尝试:

  • 在命令中输入 java 的完整路径:C:\Program Files (x86)\Java\jre1.8.0_20\bin\java - jar ... - 没有用
  • 将 .jar 文件的权限更改为完全访问权限(包括父目录)- 没用。

所以想请教一下有没有人不知道这个问题的解决方法。

谢谢

最佳答案

确保您能够在控制台中直接运行此命令而不会出现任何问题。

将您的 exec 更改为以下内容:

exec("java -jar C:\\webroot\\ipt\\themes\\ipt\\views\\site\\Skills.jar 5 10 5.5 10 2 5 8 3 10 6 11 2 15 4 2>&1", $输出);

关于java - PHP exec() 在执行 java -jar 命令时返回空数组(无输出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25865363/

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