我一直在尝试运行一个 JAR 文件,该文件将从 input.txt
读取并在控制台中以这种方式写入 output.txt
:
java -jar file.jar input.txt output.txt
它在我的机器上运行 100% 正常。我需要在 php 脚本中运行它,并且此代码对我来说 100% 正常工作(Mac OS,php 内置服务器):
exec("java -jar file.jar input.txt output.txt");
但是一旦我将它部署到允许 exec
函数的地方(CentOS 服务器),它就会失败,它返回一个空字符串,并且 jar 不起作用,直接从 shell 运行它就可以了。
我该如何解决这个问题? 提前致谢!
最佳答案
- 使用
which
命令查找java的路径。打开终端,运行命令
$ which java
/usr/bin/java
- 在 exec 命令中使用 java 的完整路径
exec("/usr/bin/java -jar file.jar input.txt output.txt");
关于java - 无法从 PHP 的 exec 运行 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34816516/