|
試した環境です。
Apache | PHP | Java VM |
2.0.43 | 4.3.0 | 1.4.0 |
●ウソハックを含む設定手順
-
まず、PHPのビルド時に--with-javaオプションをつけていることを前提とします。
インストールディレクトリは/usr/localとします。
-
/usr/local/lib/php/ ディレクトリを見て、
php_java.jarが配置されていることを確認します。
-
/usr/local/lib/php/extensions/no-debug-non-zts-YYYYMMDD
ディレクトリの中にある、java.so
をその上、つまり /usr/local/lib/php/extensions
に移動させます。
-
ここが
リファレンスへの追記を見ながら行うウソハックです。
java.soというファイル名ではJava VMが共有ライブラリと認識できないらしいので、
これにlibphp_java.so
という名前でシンボリックリンクを張ります。
-
/usr/local/lib/php.ini をテキストエディタで編集し、
[java] セクションを次のように設定します。
java.class.path = /usr/local/lib/php/php_java.jar
java.home = /usr/local/java
java.library = /usr/local/java/jre/lib/i386/server/libjvm.so
java.library.path = /usr/local/lib/php/extensions
extension_dir = /usr/local/lib/php/extensions/
extension = libphp_java.so
|
●サンプルスクリプト
以下はPHPのマニュアルに載っているサンプルです。
使っているPHP処理系がJava拡張関数をサポートしているかどうかを確認するのに使えます。
<html>
<body>
<?php
// Java クラス java.lang.System のインスタンスをPHPに作成する
$system = new Java('java.lang.System');
// プロパティへのアクセスのデモ
print 'Java version='.$system->getProperty('java.version').' <br>';
print 'Java vendor=' .$system->getProperty('java.vendor').' <br>';
print 'OS='.$system->getProperty('os.name').' '.
$system->getProperty('os.version').' on '.
$system->getProperty('os.arch').' <br>';
// java.util.Dateの例
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new Java('java.util.Date'));
?>
</body>
</html>
|
(first uploaded 2003/02/23 last updated (not ever), URANO398)
|