linux 无法从PHP的exec运行java

hgb9j2n6  于 2023-08-03  发布在  Linux
关注(0)|答案(2)|浏览(160)

我一直在尝试运行一个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运行它是可以的。
我该怎么补救?提前感谢!

goqiplq2

goqiplq21#

1.使用which命令查找java的路径。打开终端,运行命令

$ which java
/usr/bin/java

字符串
1.在exec命令中使用java的完整路径

exec("/usr/bin/java -jar file.jar input.txt output.txt");

tyg4sfes

tyg4sfes2#

exec()的问题是PHP不知道Java在服务器上的位置。更新您的命令以指定Java可执行文件的完整路径,它应该可以工作,尽管您还应该使用jar和文本文件的完整路径。

相关问题