前言:

  由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考。

一、环境(64bit):

  1.操作系统、Tomcat 和 JDK 环境:

    Server version: Apache Tomcat
    Server built: Mar 12 2016 11:39:59 UTC
    OS Name: Windows Server 2008
    Architecture: amd64
    Java Home: D:\Java\jre
    JVM Version: 1.8.0
    CATALINA_BASE: D:\Installed\Tomcat
    CATALINA_HOME: D:\Installed\Tomcat

    (Tomcat 服务器和 Jdk 的配置很简单,需要的自己搜索)

    Tomcat 下载地址:http://archive.apache.org/dist/tomcat/

    JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    环境变量:

      JAVA_HOME    D:\Java
      CLASSPATH    .\;%JAVA_HOME%\lib\tools.jar
      TOMCAT_HOME  D:\Installed\Tomcat
      Path         %JAVA_HOME%\bin;

  2.PHP环境:

    我所使用的 PHP 版本为 7.0.5,下载地址:http://windows.php.net/download/ 
    此版本的 PHP 需要 VC++ 2015 的运行环境(64bit),点击下载
    将下载后的 PHP 压缩包解压到 Tomcat 服务器根目录,命名为“php”。

    环境变量:
      Path         %TOMCAT_HOME%\php;

二、配置:

    1.配置 Context:

      打开 Tomcat 根目录\conf\context.xml,找到 <Context> 标签,添加属性: privileged="true"

 <Context privileged="true" antiResourceLocking="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
</Context>

    2.配置 Web-App:

      打开 Tomcat 根目录\conf\web.xml,配置 php 的 Servlet:

 <servlet>
<servlet-name>php</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>200</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:\Installed\Tomcat\php\php-cgi.exe</param-value> <!-- 此节点值为“php-cgi.exe”亦可 -->
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php/*</url-pattern>
</servlet-mapping>

    3.配置 pnp.ini:
      打开 Tomcat 根目录下的 php 目录,找到 php.ini-development 文件,复制一份重命名为 php.ini,修改 php.ini 文件:
        a) 启用 extension_dir(去掉前面的分号),设置 extension_dir 为 "Tomcat 根目录\php\ext",或"ext" 
        b) 设置 cgi.force_redirect 为 0

 extension_dir = "D:\Installed\Tomcat\php\ext"
cgi.force_redirect = 0

      

三、部署 PHP,查看效果:
     1.在 Tomcat 根目录\webapps\ROOT\WEB-INF 目录下创建一个名为 “php”的目录,在目录中创建一个 PHP 测试文件 test.php:

 <?php
echo " Hello World! <br>";
echo " Hello Tanken·L! <br>";
echo " Hello itanken.net! <br>";
?>

    2.启动 Tomcat,访问 http://127.0.0.1:8080/php/test.php (Tomcat 默认端口为 8080),可以看到输出三行 Hello ...!:

      

Done.

[WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置的更多相关文章

  1. 转-[WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置

    原文 前言: 由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考. 一.环境(64bit): 1.操作系统 ...

  2. Windows操作系统下tomcat安装版图文教程

    下载tomcat安装文件,官方下载地址是:http://tomcat.apache.org/,本文以tomcat-7.0.26版本为例进行安装过程的说明: 1.双击apache-tomcat-7.0. ...

  3. window下tomcat的下载安装和环境配置

    一.下载安装tomcat 去官网:http://tomcat.apache.org/  下载自己所需要的版本,解压在没有中文的文件夹路径下. 直接打开压缩包下面,进入bin目录,双击startup.b ...

  4. Windows 系统下 mysql workbench 的安装及环境配置

    1.MySQL的官网地址:https://www.mysql.com/ 2,选择DOWNLOADS 3.选择community 再MySQL workbench 4.安装MySQL workbench ...

  5. Windows操作系统下搭建Git服务器和客户端。

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  6. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  7. 部署Eclipse中的Web项目到Tomcat服务器运行

    用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...

  8. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  9. Windows操作系统下SVN无法上传*.o文件

    Windows操作系统下SVN无法上传*.o文件 2017年09月07日 10:14:49 yanlaifan 阅读数:834  摘自:https://blog.csdn.net/yanlaifan/ ...

随机推荐

  1. Spring MVC控制器

    Spring MVC中控制器用于解析用户请求并且转换为模型以提供访问应用程序的行为,通常用注解方式实现. org.springframework.stereotype.Controller注解用于声明 ...

  2. GridView数据绑定

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  3. 使用Json出现java.lang.NoClassDefFoundError解决方法

    前几天在项目使用到Json格式数据,于是把使用Json需要用到的包都引到了工程里面,程序写好后运行时,发现后台报 java.lang.NoClassDefFoundError: net/sf/json ...

  4. 04 KVC|KVO|Delegate|NSNotification区别

    一. iOS 中KVC.KVO.NSNotification.delegate 在实际的编程中运用的非常多,掌握好他们的运行原理和使用场合对于我们程序的开发将会带来事办工倍的效果:   二. KVC ...

  5. [HIHO1393]网络流三·二分图多重匹配

    题目链接:http://hihocoder.com/problemset/problem/1393 把项目到汇点的边权值都加起来,跑完最大流后看是否最大流=权值和.如果等于权值和说明所有项目都有足够的 ...

  6. Repeater多列分别合并单元格

    GridView.Repeater合并单元格可以参考http://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html,但是原文例子是合并一列的 ...

  7. DAL.SQLHelper 的类型初始值设定项引发异常的处理

    这是DAL.SQLHelper的类中定义了sql连接字符串,但是在web.config中没有定义,在类判断获取的字符串是否为空,或是在web.config添加相应的连接字符串.

  8. 程序设计入门——C语言 第7周编程练习 2 鞍点(5分)(5分)

    2 鞍点(5分) 题目内容: 给定一个n*n矩阵A.矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数.一个矩阵A也可能没有鞍点. 你的任务是找出A的鞍点. 输入格 ...

  9. arm指令周期

    1.大部分算术运算和逻辑运算指令都是单周期的,例如加法.减法.位级运算和移位 2.乘法指令根据操作数位数的不同,从2-5个周期都有可能. 3.无条件跳转语句和跳转语句成功跳转,需要重新填充流水线,因此 ...

  10. SQLServer的数据存储结构01 文件与文件组

    在SQLServer中,每当新建一个数据库时,则会有一组相应的SQLServer文件被创建,这些单独的SQLServer文件构成的总体称为文件组. 一个数据库对应着一个文件组,在这个文件组里,会包括三 ...