|
1. 利用Java Servlet SAPI將整個PHP解析引擎放入當成servlet來跑。
用這個方法你的web server必須能跑servlet,web server必須安裝Java containder,PHP官方建議採用Apache的Jakarta/tomcat。
2. 使用Java extension函式庫。用這個方法你的機器必須先安裝Java VM,並且要有JDK。根據PHP官方的說法,這個函式庫還在實驗階段,所以預設並沒有支援這個函式庫,需要自己在編譯階段加上去。編譯的時候加上--with-java[=DIR]這個參數,DIR就是JDK所在的目錄,例如 /usr/local/jdk
第2種方法在Linux和Windows都可適用,在Linux下,如上所述,必須重新編譯PHP,在Windows下的話,編輯php.ini,將php_java.dll這個模組啟用就可以了。
範例
1. Java Example
<?php
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');
// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
$system->getProperty('os.version') . ' on ' .
$system->getProperty('os.arch') . ' <br />';
// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
echo $formatter->format(new Java('java.util.Date'));
?>
2. AWT Example
<?php
// This example is only intended to be run as a CGI.
$frame = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', 'Hello Java World!');
$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;
$thread = new Java('java.lang.Thread');
$thread->sleep(10000);
$frame->dispose();
?> |
|