中央論壇 - CENTER BBS

標題: PHP有兩種整合Java的方法 [打印本頁]

作者: f66666602    時間: 2007-9-4 09:20
標題: PHP有兩種整合Java的方法
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();
?>





歡迎光臨 中央論壇 - CENTER BBS (https://www.centerbbs.com/) Powered by Discuz! X3