Aug 18, 2008

PHP/JAVA Bridge step by step! (win32)

หลายๆ คน คงเคยคิดที่จะนำภาษาที่แตกต่างกัน

มาใช้ร่วมกันในงานของตนเองนะครับ

บทความนี้ จะนำเสนอ เกี่ยวกับขั้นตอนและวิธีการ

ในการทอดสะพานเชื่อมระหว่างภาษา PHP และภาษา JAVA

โดยในที่นี้ จะให้ SERVER เป็นภาษา PHP และรันไฟล์ที่เป็น *.jar

ของ JAVA ทั้งนี้ *.jar เป็น java package ที่ถูกสร้างขึ้น

โดยการรวมกันของ *.class หลายๆ ไฟล์มารวมกับในลักษณะของ

การบีบอัดไฟล์ ซึ่งสามารถเปิดดูด้วยโปรแกรมบีบอัดทั่วไป

เช่น winRAR หรือ winZip


สิ่งที่คุณต้องมี (โปรแกรมที่ผมลงแล้วสำเร็จ)

apache_1.3.33-win32-x86-no_src.exe

php-5.1.4-Win32.zip

mysql-5.0.22-win32

jdk-6u1-windows-i586-p.exe

อย่าลืมกำหนด Path ต่างๆ ให้ จาวาสามารถทำงานได้นะครับ

ตัวอย่างตามนี้

---------------------------------------------------------
CLASSPATH = .
JAVA_HOME = C:\Program Files\Java\jdk1.5.0_10
PATH = %PATH%;%JAVA_HOME%\bin
---------------------------------------------------------

ลงสี่โปรแกรมนี้ให้สามารถทำงานได้ก่อน แล้วจึงโหลด

windows-php-java-bridge_3.2.1_j2ee.zip

แล้วทำตามขั้นตอนดัีงนี้

นำไฟล์ JavaBridge.jar จาก

windows-php-java-bridge_3.2.1_j2ee.zip\WEB-INF\lib

วางไว้ที่ C:\PHP\ext

และนำไฟล์ java-x86-windows.dll จาก

windows-php-java-bridge_3.2.1_j2ee.zip\WEB-INF\cgi

ไปวางไว้ที่ C:\PHP\ext เช่นกัน แต่ให้ทำการเปลี่ยนชื่อ

ไฟล์ดังกล่าวเป็น php_java.dll

ขั้นตอนต่อไปนี้ ควรจะหยุดการทำงานของ Apache ไว้ก่อนนะครับ

แก้ไขไฟล์ php.ini ใน C:/php

ถ้ายังไม่มีก็เพิ่มเข้าไปตามตัวอย่างด้านล่าง

แต่ถ้ามีแล้วก็ให้แก้ไขให้เป็นค่าตามด้านล่างเช่นกัน
-------------------------------------------------------------
extension_dir = C:\php\ext
extension = php_java.dll
-------------------------------------------------------------

และในส่วนของ module setting ใน php.ini เพิ่มข้างล่างนี้เข้าไป

โดยปรับให้เหมาะสมกับเครื่องของคุณ นะครับ

------------------------------------------------------------------------------------
[java]
java.java_home = "C:\Program Files\Java\jdk1.6.0_01\bin"
java.java = "C:\Program Files\Java\jdk1.6.0_01\bin\javaw.exe"
java.class.path = "C:\php\ext\JavaBridge.jar"
;java.library="C:\Program Files\Java\jdk1.6.0_01\jre\bin\client\jvm.dll"
java.library.path="C:\php\ext\lib"
;java.hosts = "127.0.0.1:8080"
;java.servlet = on
java.log_level = 2
------------------------------------------------------------------------------------

สร้างไฟล์เพื่อทดลองการต่อจาวา ชื่อว่า java1.php () ภาษา 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') . '\n';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '\n';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
$system->getProperty('os.version') . ' on ' .
$system->getProperty('os.arch') . '\n';

// 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'));

----------------------------------------------------------------------------------

ทดลองรัน เพื่อแสดงผลลัพธ์ ถ้าทำตามที่กล่าวมาก็จะสามารถต่อได้

ข้อมูลเ้พิ่มเติม สืบค้นได้ที่

http://www.dsl.uow.edu.au/~sk33/php5java.htm

No comments:

Post a Comment

Blog Comment

บทความที่ได้รับความนิยม