[PHP-users 28070] Re: 外部プログラムの起動

TAKAGI Masahiro matakagi @ osk2.3web.ne.jp
2006年 1月 11日 (水) 06:48:04 JST


高木です。

At Wed, 11 Jan 2006 05:26:09 +0900 (JST),
梅田 耕佑 wrote:
> 
> はじめまして、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");'
> 
これを実行したときの OS のユーザは

> ・webベースで実行するために、以下のphpプログラムを作成。
>   <?php
>   echo system("java Sample 2>&1");
>   ?>
> 
Web から PHP を実行している OS のユーザと同じですか?
# たぶん違いますよね。

> すると、以下のようなエラーメッセージがブラウザに出力され
> る。
>  Exception in thread "main"
> java.lang.NoClassDefFoundError: Sample (wrong name:
> Sample) at java.lang.ClassLoader.defineClass0(Native
> Method) at
> 
「"Sample" というクラスが見つかりません」と言われています。

> といった状況です。
> ちなみにjavaのclassファイルはownerをapacheにしています。
> 
おそらく、OS のユーザ「apache」に適切な CLASSPATH が設定されていないだ
けのことだと思いますが、いかがでしょうか。

-- 
高木 正弘 mailto:matakagi @ osk2.3web.ne.jp


PHP-users メーリングリストの案内