1

次のようなphpファイルからjarを実行しようとします:

exec("java -jar /home/florinbuda/NetBeansProjects/monkey1/dist/monkey1.jar", $result);          
print_r($result);

次のようにコマンドラインから実行すると機能します。

$ php runner.php

しかし、http-localhost-server/runner.php を介してロードしようとすると機能しません。ページはエラーを発生させることなく永遠にロードし続けます..

.jar ファイルに、jar が機能し始めているかどうかの簡単なテストを追加しました。

public static void main(String[] args) {
    new File("/home/florinbuda/Desktop/xxx").mkdir();

ご想像のとおり、http-localhost-server/runner.php を呼び出すと、jar の実行も開始されません...

権利の問題ですか?どのような提案がありますか?

4

2 に答える 2

4

はい、それは許可の問題です。

.jar ファイルの親フォルダーを chmod する必要があります。

chmod 755 -R /home/florinbuda/NetBeansProjects/monkey1/dist/

編集:そして、スクリプトは次のようになります。

exec("PATH_TO/java -jar /home/florinbuda/NetBeansProjects/monkey1/dist/monkey1.jar");
于 2012-11-14T03:09:46.350 に答える
0

bash の環境変数は、exec() では同じではありません。少なくとも Java bin のフルパスを使用してください。/path/to/java を実行して、通常の出力が機能していることを確認することもできます。

于 2012-11-14T03:43:22.750 に答える