最近做项目遇到了问题,服务器是用的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)

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

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

地址栏通过

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

注:

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

tomcat支持php的更多相关文章

  1. Servlet与JSP版本历史以及Tomcat支持的版本

    查询这个的关键字:Java EE的版本历史. JavaServer Pages (JSP) Java Servlet 参考: https://en.wikipedia.org/wiki/Java_EE ...

  2. tomcat支持多少并发

    作者:孟男男 来源:https://zhidao.baidu.com/question/1445941399668603020.html Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与 ...

  3. 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL

    这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...

  4. tomcat 支持https

    HTTP是平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 这些隐私数据能加密传输,于是网景公司设计了SSL(Se ...

  5. (转载)配置tomcat支持jython

    工作需要,特记录下配置tomcat支持jython开发的过程.参考链接:@http://blog.itpub.net/13186779/viewspace-201861/ *环境在win7下搭建,jd ...

  6. 设置tomcat支持软连接

    一般开发时不会在tomcat安装目录/data/tomcat/webapps/ROOT 下去,上传部署:而是建立软连接,在tomcat安装目录之外操作,比如执行git pull拉取项目,而tomcat ...

  7. Tomcat 支持的Java 版本和兼容性总结

    https://tomcat.apache.org/whichversion.html 最新最全的Tomcat 支持的Java版本对照,即兼容性一览表:   Servlet Spec JSP Spec ...

  8. tomcat支持https的历程

    tomcat真是业界良心啊,文档写的详细无比. 一.https是什么? 简单的说,就是http+SSL/TLS 协议还是http,但是在传输层过程中使用了加密(涉及握手.秘钥分发.加密.解密等过程). ...

  9. 让tomcat支持中文cookie

    这的确是一个不正常的需求,按照规范,开发者需要将cookie进行编码,因为tomcat不支持中文cookie. 但有时候,你不得不面对这样的情况,比如请求是由他人开发的软件,比如,浏览器控件发出的. ...

  10. 让Tomcat支持中文文件名

    --参考链接:http://blog.chinaunix.net/uid-26284395-id-3044132.html 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一 ...

随机推荐

  1. MPP 一、Greenplum 集群安装

    Installating and Initializing a Greenplum Database System... 1 安装说明 1.1 环境说明 名称 版本 下载地址 虚拟机 Oracle V ...

  2. 一篇%3CDIV%20style%3D%22FONT-SIZE%

    %3CDIV%20style%3D%22FONT-SIZE%3A%2016px%22%3E1%EF%BC%8C%E6%88%91%E4%BB%A5%E4%B8%BA%E7%BB%88%E6%9C%89 ...

  3. CSS小技巧-煎蛋的画法~

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Selenium基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-selenium/ 什么是Selenium Selenium是一个自动化测试工具 是一组不同的 ...

  5. java数据结构(二叉树)

    Node节点: public class Node { public long data; public String sData; public Node leftChild; public Nod ...

  6. java基础(十五章)

    一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new S ...

  7. 关于iphone点击readonly的input虚拟键盘不消失的情况

    今天遇到了一个比较棘手的问题,事情是这样的: 咱有一个添加地址的页面,大概长这样: 收货地址后那个"请选择收货地址"是一个readonly的input, 咱一进页面,直接点击这个& ...

  8. ssh代理上网

    背景: 公司开发机没有外网,但可以通过ssh连接到另一台可以上公网的机器,所以想通过ssh代理的方式上网,简单又方便,而且需要的时候上,不需要的时候也可以不上 配置: 超级简单 在开发机上建立ssh隧 ...

  9. Spring事务管理—aop:pointcut expression解析

    先来看看这个spring的配置文件的配置: <!-- 事务管理器 --> <bean id="transactionManager"  class="o ...

  10. 数列[专杀Splay版]

    时间限制: 3 Sec  内存限制: 128 MB提交: 49  解决: 7 题目描述 输入一个数列,你需要进行如下操作:  1. 把编号为I的数值改为K  2. 输出从小到大排序后第k个数 输入 输 ...