[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 メーリングリストの案内