この記事の例では、phpが独自のJavaプログラムを呼び出す実装方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
最初にjdkをインストールする必要があるのは言うまでもありませんが、私はjava ee 5+jdkをインストールしました
。1. ダウンロードしたphp-java-bridge_5.2.2_j2ee.zipを解凍すると、JavaBridge.warがありますwinrarで直接開き、WEB-INF/lib/JavaBridge.jarに移動してこのjarを配置しますpackage それを php ディレクトリの ext/ ディレクトリにコピーします。
2. war パッケージを開くと、中に java フォルダーがあり、それをすべて PHP プロジェクト (/demo/java
など) にコピーします。3. 現在のバージョンは VMBridge です。PHP で Java クラスを呼び出すには、まず JavaBridge を起動する必要があります。
コマンドラインから java –jar JavaBridge.jar を呼び出すか、JavaBridge.jar をダブルクリックして、ポップアップ ウィンドウでリスニング ポート 8080 を選択します将来簡単に起動できるように、ext/ の下に次の内容の新しい Bat ファイルを作成しました:
リーリー
保存後、ダブルクリックして開始します。vmbridge ポートを選択するためのプロンプト ボックスが表示されます。デフォルトは 8080 です。[OK] をクリックします。4. /demo/ に次の内容の新しい test.php を作成します。 リーリー
5. Apache を起動し、ブラウザで http://localhost/demo/test.php を表示します次の情報が表示されます:
コードをコピーします
コードは次のとおりです: php-java-bridge config…
Javaバージョン=1.6.0_10
Javaベンダー=Sun Microsystems Inc.
OS=x86 上の Windows Vista 6.0
2008 年 11 月 23 日日曜日、午後 4 時 31 分 49 秒、中国標準時
カスタム JAR:
リーリー
/demo/index2.php
リーリー
ブラウザで http://localhost/demo/index2.php を表示します
方法 2: php_java.dll は php.ini を設定する必要があります。php-java-bridge の新しいバージョンには dll ファイルがありません
まず、PHP、Apache サーバー、JDK (または JRE も可) がインストールされていることを確認してください
php-java-bridge をオンラインでダウンロードします (自分で見つけるか、http://sourceforge.net/project/showfiles.php?group_id=117793)ダウンロードしたphp-java-bridgeを解凍すると、フォルダ内にJavaBridge.warが出来ますので、このJavaBridge.warを同様に解凍します(win rarでも解凍できます)
解凍後、WEB-INF フォルダー内の cgi フォルダーから java-x86-windows.dll が、WEB-INF フォルダー内の lib フォルダーから JavaBridge.jar が見つかります
java-x86-windows.dllとJavaBridge.jarをPHPプラグインフォルダ(私の場合はC:/AppServphp/ext)にコピーし、java-x86-windows.dllをphp_java.dllに変更します
php.iniファイルを変更する
php.iniに元々以下の内容がない場合は、ご自身で追加してください。 元々以下の内容がある場合は、下記【JDKを使用しています】に修正してください。
extension=php_java.dll リーリーApacheを再起動してphpinfoを確認してください リーリー 最後から 2 番目の項目 Java ステータスが実行中でないかどうかを確認します (これは、JavaBridge.jar が開始されていないためです)。 「running <—-」に変わる場合は、JavaBridge.jar が開始され、php-java-bridge が正式に使用できることを意味します
開始されていない場合は実行:
コンピューターの電源を入れるたびに JavaBridge.jar を手動で起動するのは不可能だからです
それでは以下の内容のバッチ処理を書きます
リーリーそれを phpJavaBridge.bat として保存し、PHP プラグイン フォルダー (ここでは C:AppServ/php/ext) にも置きます
ファイルのショートカットを作成し、作成したショートカットをスタートアップに置きます(ここではC:/Documents and Settings/All Users/「スタート」/Menu/Program Startup)
このようにして、コンピューターの電源を入れるたびに、C:AppServphpextフォルダー内のphpJavaBridge.batが自動的に起動されます
簡単な例
リーリーまたは、php-java-bridge、http://localhost/test.php で test.php を見つけて効果を確認してください
リーリー リーリーextension=PHP_java.dll を PHP.INI に追加し、[java] で PHP_java.jar を指すように java.class.path を設定します。新しい JAVA クラスを使用する場合は、このパスも保存する必要があります。たとえば、c:myclasses ディレクトリを使用します。
テスト環境では、次の PHP ファイルを作成します:
リーリー正しくインストールされている場合は、次のメッセージが表示されます:
コードをコピーします
コードは次のとおりです: Java version=1.2.2
Javaベンダー=Sun Microsystems Inc.
OS=Windows 95 4.10 on x86
2000年10月18日水曜日、午前10時22分45秒 中国標準時
JAVA を呼び出す方法を理解することが重要です。次のステップは、独自の JAVA ファイルを作成し、PHP にそれを呼び出させることです。JAVA ファイルの java.class.path は非常に重要です。
独自の JAVA クラスを作成して使用する [
]
独自の JAVA クラスの作成は非常に簡単です。新しい phptest.java ファイルを作成し、java.class.path ディレクトリ [c:myclasses] に配置します。ファイルの内容は次のとおりです。 リーリー このファイルを作成した後、このファイルをコンパイルし、DOS コマンド ラインで javac phptest.java コマンドを使用する必要があります。 PHP を使用してこの JAVA クラスをテストするには、次の内容を含む phptest.php ファイルを Web ディレクトリに作成します。 29648522595e8754b4ea3687adee9803
如果你得到这样的警告信息:java.lang.ClassNotFoundException error ,这就意味着你的 phptest.class 文件不在你的 java.class.path 目录下。
注意的是 JAVA 是一种强制类型语言,而 PHP 不是,这样我们在将它们融合时,容易导致错误,于是我们在向JAVA传递变量时,要正确指定好变量的类型。如:$myj->foo = (string) 12345678; or $myj->foo = "12345678″;
这只是一个很小的例子,你可以创建你自己的 JAVA 类,并使用 PHP 很好的调用它!关键在于理解java.class.path目录的重要性。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。