java - 无法从 PHP 的 exec 运行 java

标签 java php linux shell jar

我一直在尝试运行一个 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 运行它就可以了。

我该如何解决这个问题? 提前致谢!

最佳答案

  1. 使用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/

    相关文章:

    php - 拉拉维尔 8 : Trying to get property 'name' of non-object

    c++ - cin.getline() 开发 shell 时出错

    ruby-on-rails - 托管 Rails - 走 VPS 路线?

    JavaFX 滚动表更新性能随时间降低

    PHP 数学逻辑

    java - 简单的 Java 代理服务器 - 谷歌搜索错误

    php - 从多个复选框发布php mysql

    Python以错误的顺序覆盖文件

    java - Android如何在单击按钮时更改底部导航项的颜色

    java - 为什么Spring boot在使用Eureka时会执行两次SpringApplicationRunListener