2

私はPHPとJavaの両方に不慣れです。現在、PHPコードでJavaクラスとそのメソッドを呼び出すプロジェクトに取り組んでいます。このための概念実証を作成しています。問題は、Javaで作成したカスタムクラスに接続できないことです。それ以上に、私はそれを行う方法がわからないと言うことができます。java.incファイルとjavabridge.jarファイルを使用してシステムクラスに接続しましたが、単純なクラスに接続できません。私が従ったステップは次のとおりです。

clsForPHPというクラスのJavaパッケージを作成しました。このパッケージには、2つのパラメーターを受け取り、整数値を返すメソッドsum()があります。(これはMyEclipse IDEを使用して作成されています)現在、PHPからこの関数を呼び出そうとしています。パッケージを含むjarファイルをPHPプロジェクトにコピーしました。(Eclipse- HeliosはIDEです)$ d = new java( "clsForPHP.class");

助けてください!!私はたくさん検索しましたが、適切な解決策を見つけることができませんでした。このパッケージはjava.incファイルに追加する必要があると思いますが、その方法がわかりません。

4

1 に答える 1

3

まず、Tomcat6 と Java を Unix ボックスにインストールします。ほとんどの場合、Tomcat は 8080 ポートになります。http://php-java-bridge.sourceforge.net/pjb/から JavaBridge.war をダウンロードし、解凍します。次に、WEB-INF/lib フォルダーから、Tomcat の lib フォルダーにある JavaBridge.jar、php-servlet.jar、および php-script.jar をコピーします。次に、Tomcat6 webapps フォルダーに JavaBridge.war をコピーし、Tomcat6 サービスを再起動すると、webapps に JavaBridge フォルダーが自動的にデプロイされます。

http://localhost:8080/JavaBridge/をブラウズしてみてください。PHP/Java Bridge がインストールされているよりも機能する場合。第一部終了。

以下のようにApacheでテストページを作成します

<?php
      require_once("http://localhost:8080/JavaBridge/java/Java.inc");
      echo java("java.lang.System")->getProperties();
?>

そしてそれを実行します。それが機能する場合は、作業を開始できます。うまくいかない場合は、php.ini ファイルに問題があります。php.ini で allow_url_once=on を作成してみてください。

java jar ファイルを tomcat /webapps/JavaBridge/WEB-INF/lib/ フォルダーにコピーするだけで、Java を機能させたいページに常に次の行を挿入します。

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
$yourObj = Javav("your java class");
$yourObj->yourMethod();
$yourObj->setProperty("xxx");

これがあなたを助けることを願っています。

それでも問題が解決しない場合は、戻ってください。

Java コンパイル済みファイルを PHP / Java Bridge の jar ファイルにコピーしてはならないため、エラーがスローされます。

次の2つのオプションの方法で行うことができます

  1. CATALINA_HOME を定義している場合は、$CATALINA_HOME/webapps/JavaBridge/WEB-INF/lib をコピーします。
  2. CATALINA_HOME を定義していない場合は、/var/lib/tomcat6/webapps/webapps/JavaBridge/WEB-INF/lib をコピーします。

私が伝えているパスは、tomcat6 がインストールされていることを前提としています。Tomcat の webapps フォルダーが別のパスにある可能性があります。

于 2012-04-20T21:28:25.653 に答える