###実現したい事
以下のソースのPHPをブラウザ上で実行するとHelloWorldと表示されるようにしたいのですが実行すると
Array ( [0] => sh: java: not found ) 127
と表示されます。
パスを通すために~/.cshrcに
set path=($HOME/local/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin /usr/local/openjdk8/bin) setenv JAVA_HOME /usr/local/share/licenses/openjdk8-8.181.13
この2行をつけ足しました。echoで確認してみた結果
echo $PATH /root/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin:/usr/local/openjdk8/bin echo $JAVA_HOME /usr/local/share/licenses/openjdk8-8.181.13
と表示されたのでパスは通っていると思います。しかし追加してブラウザを更新しても相変わらずブラウザ上の表示に変化が見られなかったので、多分通すパスが違うのかなと考えてます。解決策が分かる方、回答お願いします。
###PHP
PHP
1<?php 2 session_start(); 3exec("java Hello 2>&1", $out, $rtn); 4print_r($out); 5echo "<br />".$rtn; 6?>
###試したこと
シェルを作ってexecコマンドの部分をexec(/usr/local/bin/expect test.exp)
としてみたのですが、ブラウザが読み込み中の状態がずっと続いて進展がありませんでした。
###test.exp
#!/usr/local/bin/expect set pass "○○" set timeout 100 expect { "\$" { send "/java Hello\n" } }
###補足
シェルはcsh系
Javaは
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
###Javaのソース
import java.io.*; public class Hello{ public static void main(String[] args){ System.out.println("Helloworld"); } }