JSP、PHP与JAVA融合的开发环境(一)

本文介绍了融JSP、PHP和JAVA于一炉的开发环境的建立,为了适合大多数初学者的需求,很多步骤都是采用比较方便的办法,力求简单明了。一般来说,没有特别需求的软件,我都是采用RPM的方式安装。如果你有优化配置、安全考虑等特殊需求,请参考相关的更多的资料进行配置。

在本文中,Apache以DSO模式安装,PHP实现了JAVA组件的支持,使得我们在进行大型项目开发的时候,可以选择PHP作为前端脚本语言,调用JAVA组件实现底层和企业级的应用。

一.系统环境

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.客户机环境

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

二.系统安装

启动Linux安装光盘,安装基本系统:FTP、开发工具和MySQL3.23.54。如果你是手工编译安装MySQL,要记得以后在编译PHP等程序时要指明MySQL的具体路径,否则会因找不到路径而导致编译出错。

三.安装webmin1.110

用Webmin来配置系统,傻瓜化,可以节省不少力气,所以一般我都先安装它。安装过程很简单,执行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环境是否安装成功。
System.out.println(“Hello World!”);
}
}



2.执行以下命令:






# rpm -ivh j2sdk*.rpm
//安装JDK包。
# source /etc/profile
//重载profile环境。
# ldconfig
//创建动态链接库缓存文件。
# 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就可以。

#p#副标题#e#

–enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为–enable-module=rewrite。

六.编译安装PHP

1.执行命令:






#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。 www.xker.com()

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的JAVA环境是否可用,
代码是从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) .
;
  echo Java vendor= .
$system->getProperty(java.vendor) .
;
  echo OS= .
$system->getProperty(os.name) . .
  $system->getProperty(os.version) .
on .
  $system->getProperty(os.arch) .
;
 // 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转换到新版本,可能会发现你的PHP程序很多都不能用了。不过把register_globals打开就会一切正常了。这是因为老版本的PHP,它的register_globals默认是开着的,而新版本,却把它关了的缘故。

(2)./home/jim/myclass是我存放JAVA组件的路径,你可以根据实际情况修改,但是为了安全起见,不要放在web目录下。