[PHP-users 28069] 外部プログラムの起動
 梅田 耕佑
 kousuke_umeda @ yahoo.co.jp
 
 2006年 1月 11日 (水) 05:26:09 JST
 
 
 
はじめまして、php初心者です。
現在、phpからwebベースでjava applicationを起動するように
したいのですが、うまく動作しません。
そもそもセキュリティー上無理なのでしょうか?
どなたかアドバイスを頂けないでしょうか?
動作環境:
OS:Vine Linux 2.6
php:PHP Version 4.3.10
Server version: Apache/1.3.27 (Unix) (Vine/Linux)
現状:
・javaのサンプルプログラムとして文字列を表示するだけの
プログラムを作成してjavacコマンドでコンパイル、
javaコマンドでの実行を確認。
・コマンドラインからは以下のコマンドでの実行を確認。
>php -r 'system("java Sample");'
・webベースで実行するために、以下のphpプログラムを作成。
 <?php
 echo system("java Sample 2>&1");
 ?>
すると、以下のようなエラーメッセージがブラウザに出力され
る。
 Exception in thread "main"
java.lang.NoClassDefFoundError: Sample (wrong name:
Sample) at java.lang.ClassLoader.defineClass0(Native
Method) at
java.lang.ClassLoader.defineClass(ClassLoader.java:537) at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at
java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at
java.net.URLClassLoader.access100ドル(URLClassLoader.java:55)
at java.net.URLClassLoader1ドル.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native
Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
といった状況です。
ちなみにjavaのclassファイルはownerをapacheにしています。
長くなりましたが、以上です。
どうぞよろしくお願いします。
 
 
PHP-users メーリングリストの案内