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
28
29
30
31
32
|
<
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项目名”就可以看到效果了。