tomcat支持php

Posted kevin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat支持php相关的知识,希望对你有一定的参考价值。

最近做项目遇到了问题,服务器是用的tomcat,而有用到php,就想在tomcat下面可以运行php,步骤如下:

1.下载php压缩包解压或者用wamp/xampp

我下载的是wamp,用的里面的php,把php的地址配置到path中,执行php -v看是否正确

除了php之外还需要安装java虚拟机和tomcat。这些工具的最低配置为php 5.x、java 6或以上、tomcat 6或以上。

还需要

Visual C++ Redistributable for Visual Studio 2012 Update 4

这个东西的支持。要不就会报错缺少dll或者无法运行php.exe的问题。

2.下载JavaBridge.jar、php-servlet.jar和php-script.jar并将它们复制到tomcat的lib目录下

3.修改tomcat安装目录下conf文件夹里的web.xml文件,在web-app标签里增加以下的代码;

<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>

4.接着在welcome-file-list标签里增加下面这一行代码

<welcome-file>index.php</welcome-file>

5.在php.ini中修改如下:(需要把php.ini-development文件改名成php.ini)

1、增加一行(这个最重要)
fastcgi.impersonate = 1
2、修改两项(解开注释就可以了)
cgi.fix_pathinfo=1
cgi.force_redirect = 0

6.部署php项目,在tomcat下面新建一个文件夹项目test,在里面新建一个a.php文件

地址栏通过

ip:端口/test/a.php访问,可以看到结果了

注:

访问后,会有这两个文件夹生成,里面就是php与java代理的东西。跟引入的jar有关,即Php/Java Bridge  这是个php与java的连接桥。

 

以上是关于tomcat支持php的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 中的通用代码片段或模板

超级有用的9个PHP代码片段

PHP必用代码片段

PHP代码-psysh调试代码片段工具

超实用的php代码片段

比较有用的php代码片段