java开发者都知道,tomcat是用来部署java web项目的。前几天老k偶然得知PHP/Java Bridge,通过它可以实现在jsp和php之间共享session,详见《如何实现jsp和php共享session》php教程,今天突发奇想,通过PHP/Java Bridge能不能把一个完全用php开发的项目部署到tomcat里,尽管意义不是很大,但对于那些需要在java项目里集成php开发的模块的话还是很有用的。说干就干,我马上去PHP/Java Bridge的官网看了,原来它还真可以用于将php项目部署到tomcat的用途,官方提到可以将Moodle、mediaWiki、Joomla等php开源项目部署到tomcat。下面是详细步骤。
1.环境准备
将php项目部署到tomcat并不意味着不需要安装php了,事实上,还是需要安装php环境的,老k安装的是xampp,这样很方便就安装了php环境,xampp的安装教程请参考《如何安装xampp》;除了php之外还需要安装java虚拟机和tomcat。这些工具的最低配置为php 5.x、java 6或以上、tomcat 6或以上。
2.配置tomcat
将PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar复制到tomcat的lib目录下;
修改tomcat安装目录下conf文件夹里的web.xml文件,在web-app标签里增加以下的代码;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
< listener >
< listener-class >php.java.servlet.ContextLoaderListener</ listener-class >
</ listener >
< servlet >
< servlet-name >PhpJavaServlet</ servlet-name >
< servlet-class >php.java.servlet.PhpJavaServlet</ servlet-class >
</ servlet >
< servlet >
< servlet-name >PhpCGIServlet</ servlet-name >
< servlet-class >php.java.servlet.fastcgi.FastCGIServlet</ servlet-class >
< init-param >
< param-name >prefer_system_php_exec</ param-name >
< param-value >On</ param-value >
</ init-param >
< init-param >
< param-name >php_include_java</ param-name >
< param-value >Off</ param-value >
</ init-param >
</ servlet >
< servlet-mapping >
< servlet-name >PhpJavaServlet</ servlet-name >
< url-pattern >*.phpjavabridge</ url-pattern >
</ servlet-mapping >
< servlet-mapping >
< servlet-name >PhpCGIServlet</ servlet-name >
< url-pattern >*.php</ url-pattern >
</ servlet-mapping >
|
接着在welcome-file-list标签里增加下面这一行代码
1
|
< welcome-file >index.php</ welcome-file >
|
3.部署php项目
直接到php项目复制到tomcat的webapps目录下,然后启动tomcat,在浏览器输入“http://localhost:8080/php项目名”就可以看到效果了。