php5でjavacを含むシェルの実行ができない
こんにちは。シェル、php5初心者です。
まずはそれぞれのソースを記します。
j.sh
~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
javac Hello.java
java Hello
~~~~~~~~~~~~~~~~~~~~~~
Hello.java
~~~~~~~~~~~~~~~~~~~~~~
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
~~~~~~~~~~~~~~~~~~~~~~
test.php
~~~~~~~~~~~~~~~~~~~~~~
<?php
$output = shell_exec('./j.sh');
echo "<pre>$output</pre>";
?>
~~~~~~~~~~~~~~~~~~~~~~
以上のプログラムを使用しtest.phpを実行したときにshell_exec関数によってWebブラウザ上にHello,Worldと表示させたいのですが、コンパイルすらされていないみたいです。どうしたらよいでしょうか。
端末から./j.shのようにシェルを実行するとしっかりとHello,Worldと結果が返ってくるのですが。
ちなみにjavacを含まないシェル(ls -l,cpなど)はphpから実行できました。
どうかよろしくお願いします。
os vine linux 4.3
お礼
なるほど。そういう仕様なんですか。 コマンドの終了コードを128以上にするとわからなくなっちゃうんですね。 もう少しドキュメントを見るようにします。 ありがとうございました。