【问题标题】:why does apache executes all commands from my shell script but not java's one?为什么 apache 会执行我的 shell 脚本中的所有命令,而不是 java 的?
【发布时间】:2014-04-30 18:49:51
【问题描述】:

我正在尝试通过 php 的 exec 函数使用 shell 脚本来执行 java

<?php
  exec("./test.sh", $output, $exit_code);

  foreach($output as $key => $val){
    echo $key . " ". $val . "<br/>";
  }

  echo "exit code " . $exit_code;
?>

我的脚本test.sh 如下

echo "Hello world!";
java -version;
ls -l; 
pwd; 

这是exec的输出exit_code等于0的结果

0 Hello world!
1 total 18468
2 drwxrwxr-x 4 leonzo leonzo 4096 mars 22 06:45 assets
3 drwxrwxr-x 2 leonzo leonzo 4096 mars 22 06:45 backup
4 drwxrwxr-x 2 leonzo leonzo 4096 mars 22 06:57 com
5 drwxrwxr-x 2 leonzo leonzo 4096 mars 22 06:45 content
6 -rw-rw-r-- 1 leonzo leonzo 1096 mars 22 06:45 index.php
7 drwxrwxr-x 2 leonzo leonzo 4096 mars 22 06:57 mcd
8 -rw-rw-r-- 1 leonzo leonzo 153 mars 23 14:58 test_jar.php
9 -rw-rw-r-- 1 leonzo leonzo 152 mars 23 14:58 test_jar.php~
10 -rwxrwxrwx 1 leonzo leonzo 129 mars 23 15:08 test.sh
11 -rwxrwxrwx 1 leonzo leonzo 119 mars 23 15:02 test.sh~
12 -rw------- 1 leonzo leonzo 18844395 mars 23 14:45 videcom.jar
13 /home/leonzo/Documents/workspace/quifaitquoi
exit code 0

我的 shell 脚本中的所有命令都已执行,除非 java.util.这种行为的原因是什么,为了让java正常工作,有什么特别的事情要做吗?

版本

我的电脑上确实安装了java

>java -version
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

【问题讨论】:

  • 如果你只是在命令行中运行sh test.sh,输出是什么?输出有java版本吗?

标签: java php apache shell


【解决方案1】:

对不起,我的猜测:这台机器上安装了 java 吗?控制台是否有阻止显示错误消息的默认设置?

请向我们提供有关您的设置(环境)的更多详细信息。

【讨论】:

  • 我已经编辑了问题,我的 Linux 机器上确实安装了 java
  • @Fopa Léon Constantin:你的脚本在你的用户下工作吗?您确定 php 进程在同一用户帐户下运行吗?我认为“simmant”也给出了很好的答案。
  • 我的代码显然工作正常,当我将 JAVA_HOME 放入环境变量时没有任何变化
【解决方案2】:

根据 Linux 系统,最好将 JAVA_HOME 变量的路径也保存在 .bashrc 文件中,该文件隐藏在用户的主文件夹中..

像这样设置 JAVA_HOME:

JAVA_HOME=/usr/lib/jvm/you-java-version .

 export JAVA_HOME 

PATH=$PATH:$JAVA_HOME/bin 

【讨论】:

  • 更新变量环境后没有任何变化
猜你喜欢
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 2017-01-16
  • 2017-02-21
相关资源
最近更新 更多