明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

JSP、PHP與JAVA融合的開發(fā)環(huán)境1

[摘要]前言 本文介紹了融JSP、PHP和JAVA于一爐的開發(fā)環(huán)境的建立,為了適合大多數(shù)初學者的需求,很多步驟都是采用比較方便的辦法,力求簡單明了。一般來說,沒有特別需求的軟件,我都是采用RPM的方式安裝。...
前言

本文介紹了融JSP、PHP和JAVA于一爐的開發(fā)環(huán)境的建立,為了適合大多數(shù)初學者的需求,很多步驟都是采用比較方便的辦法,力求簡單明了。一般來說,沒有特別需求的軟件,我都是采用RPM的方式安裝。如果你有優(yōu)化配置、安全考慮等特殊需求,請參考相關的文章進行配置。

在本文中,Apache以DSO模式安裝,PHP實現(xiàn)了JAVA組件的支持,使得我們在進行大型項目開發(fā)的時候,可以選擇PHP作為前端腳本語言,調(diào)用JAVA組件實現(xiàn)底層和企業(yè)級的應用。

一.系統(tǒng)環(huán)境

1.初始安裝

防火墻開放接口:21,22,80,2401,8009,10000,eth0
Redhat Linux 9.0
Development Tools

Network Servers
VSFtp
CVS-1.11.2-10
MySQL 3.23.54

2.包安裝

JDK 1.4.2_04
下載地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm

Tomcat 5.0.19
下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz

3.腳本安裝

Webmin 1.110
下載地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz

ZendOptimizer 2.5.1
下載地址:http://www.netshine.com.cn/linux/ZendOptimizer-2.5.1-Linux_glibc21-i386.tar.gz

4.手工編譯

Apache 2.0.49
下載地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz

PHP 4.3.5
下載地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz
JK 2-2.0.4
下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz

5.客戶機環(huán)境

Windows XP Professional
Absolute Telnet 3.0
Zend Encoder
Macromedia Dreamweaver MX 2004
Borland JBuilder 9 Enterprise
WinCVS 1.3
下載地址:http://www.netshine.com.cn/linux/WinCvs13b17.zip

二.系統(tǒng)安裝

啟動Linux安裝光盤,安裝基本系統(tǒng):FTP、開發(fā)工具和MySQL3.23.54。如果你是手工編譯安裝MySQL,要記得以后在編譯PHP等程序時要指明MySQL的具體路徑,否則會因找不到路徑而導致編譯出錯。

三.安裝webmin1.110

用Webmin來配置系統(tǒng),傻瓜化,可以節(jié)省不少力氣,所以一般我都先安裝它。安裝過程很簡單,執(zhí)行setup.sh腳本后照提示一步一步來就可以了。

# cd webmin*
# ./setup.sh



四.安裝JDK1.4.2

1.編輯如下三個文件,沒有指明全路徑的放在你自己的home目錄就可以。

/etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_04
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
CVSROOT=/usr/local/cvsroot
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH CVSROOT PATH

/etc/ld.so.conf
/usr/java/j2sdk1.4.2_04/jre/lib/i386
/usr/java/j2sdk1.4.2_04/jre/lib/i386/server

HelloWorld.java
class HelloWorld
{
public static void main(String[] args)
{
//本文件測試Java環(huán)境是否安裝成功。
System.out.println("Hello World!");
}
}



2.執(zhí)行以下命令:

# rpm -ivh j2sdk*.rpm //安裝JDK包。
# source /etc/profile //重載profile環(huán)境。
# ldconfig //創(chuàng)建動態(tài)鏈接庫緩存文件。
# javac -d . HelloWorld.java //編譯測試文件。
# java HelloWorld //運行程序測試安裝是否成功。



五.安裝Apache

# tar xvzf httpd* //解壓源碼包。
# cd httpd* //進入安裝目錄。
# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most --enable-rewrite
# make;make install //編譯并安裝。



說明:

--enable-so選項:讓Apache可以支持DSO模式,注意,我們在這里采用的是Apache2.0的語法。如果你的Apache是1.3版本,應改為--enable-module=so。

--enable-mods-shared=most選項:告訴編譯器將所有標準模塊都編譯為DSO模塊。你要是用的是Apache1.3,改為--enable-shared=max就可以。

--enable-rewrite選項:支持地址重寫功能,使用1.3版本的朋友請將它改為--enable-module=rewrite。

六.編譯安裝PHP

1.執(zhí)行命令

#tar xvzf php* //解壓源碼包
#cd php* //進入PHP安裝命令
#./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local
/apache/bin/apxs --with-java=/usr/java/j2sdk1.4.2_04
#make;make install //編譯并安裝
#cp php.ini-dist /usr/local/php/lib/php.ini //復制php配置文件
#cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 //extensions目錄
#ln -s java.so libphp_java.so //建立連接,忘記了會出錯哦
#cd Zend* //進入ZendOptimizer目錄
#./install //安裝PHP加速器



說明:

--with-apxs2=/usr/local/apache/bin/apxs是Apache2的語法,1.3版本的用戶請使用--with-apxs=/usr/local/apache/bin/apxs。

2.編輯下面三個文件

/usr/local/apache/conf/httpd.conf
LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

AddDefaultCharset gb2312

/usr/local/apache/htdocs/test.php
<?php
//本程序測試PHP的JAVA環(huán)境是否可用,
代碼是從http://www.php.net/manual/en/ref.java.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'));
?>

/usr/local/php/lib/php.ini
register_globals=On
[Java]
java.class.path=/usr/local/php/lib/php/php_java.jar:/home/jim/myclass
java.home=/usr/java/j2sdk1.4.2_04
java.library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libjava.so
java.library.path=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension=libphp_java.so



注意:

(1).如果你剛剛從以前老版本的PHP轉(zhuǎn)換到新版本,可能會發(fā)現(xiàn)你的PHP程序很多都不能用了。別緊張!把register_globals打開就一切正常啦!這是因為老版本的PHP,它的register_globals默認是開著的,而新版本,卻把它關了的緣故。

(2)./home/jim/myclass是我存放JAVA組件的路徑,你可以根據(jù)實際情況修改,但是為了安全起見,可不要放在web目錄下哦。