私はLinuxサーバー(Debian)を持っています。ディレクトリ(reza)にJavaプログラム(コンパイル済み)があります。私はこのJavaプログラムを/ var/wwwからPHPスクリプトを通して実行しようとしています。別のディレクトリからPHPをjavaから実行
$com=shell_exec('java /reza/z');
上記の形式で呼び出すと、結果が返されたりjavaプログラムが実行されたりします。私は同じコール形式のレザフォルダ内の1つのPHPスクリプトを呼び出すと それが正しい応答を返します:
$com=shell_exec('php /reza/a.php');
これはcorrectlly動作するようにする方法任意のアイデア?
P.S. phpから同じディレクトリのjavaを呼び出すと、正しい応答を返します:
$com=shell_exec('java z');
Javaファイルがコンパイルされ、クラスファイルも含まれています。
Javaサンプル・コードは:
import java.io.*;
public class z{
public static void main(String args[])throws IOException{
File file = new File("Hello1.txt");
// creates the file
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// Writes the content to the file
writer.write("This\n is\n an\n example\n");
writer.flush();
writer.close();
//Creates a FileReader Object
FileReader fr = new FileReader(file);
char [] a = new char[50];
fr.read(a); // reads the content to the array
for(char c : a)
System.out.print(c); //prints the characters one by one
fr.close();
}
}
よろしく、
最後に、これを解決しました。ターゲットフォルダのパーミッションを変更し、 "書き込み"も有効にする必要があります。私を助けてくれてありがとう。
あなたのサーバーのログを確認しましたか? –
はい、サーバーにエラーはありません。 –