[WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
前言:
由于本人在开发和学习过程中需要同时部署 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 ...!:

[WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置的更多相关文章
- 转-[WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
原文 前言: 由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考. 一.环境(64bit): 1.操作系统 ...
- Windows操作系统下tomcat安装版图文教程
下载tomcat安装文件,官方下载地址是:http://tomcat.apache.org/,本文以tomcat-7.0.26版本为例进行安装过程的说明: 1.双击apache-tomcat-7.0. ...
- window下tomcat的下载安装和环境配置
一.下载安装tomcat 去官网:http://tomcat.apache.org/ 下载自己所需要的版本,解压在没有中文的文件夹路径下. 直接打开压缩包下面,进入bin目录,双击startup.b ...
- Windows 系统下 mysql workbench 的安装及环境配置
1.MySQL的官网地址:https://www.mysql.com/ 2,选择DOWNLOADS 3.选择community 再MySQL workbench 4.安装MySQL workbench ...
- Windows操作系统下搭建Git服务器和客户端。
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- 部署Eclipse中的Web项目到Tomcat服务器运行
用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- Windows操作系统下SVN无法上传*.o文件
Windows操作系统下SVN无法上传*.o文件 2017年09月07日 10:14:49 yanlaifan 阅读数:834 摘自:https://blog.csdn.net/yanlaifan/ ...
随机推荐
- MySQL 安装 + 精简 + 配置
MySQL 安装 + 精简 + 配置 下载安装 从官网 下载 Community Edition MySQL 5.6 版本 精简 根目录下只留 [data/bin/share] , my-defaul ...
- 关于IONIC 报错 XX is not a function
刚开始 做一个项目,总是报错"XX is not a function" 最后发现 原因 , 原来是 服务的 注入位置 有问题. angular.module(" ...
- 【leetcode❤python】 189. Rotate Array
#-*- coding: UTF-8 -*-#由于题目要求不返回任何值,修改原始列表,#因此不能直接将新生成的结果赋值给nums,这样只是将变量指向新的列表,原列表并没有修改.#需要将新生成的结果赋予 ...
- 蚁群算法简介(part2: 蚁群算法之构造路径)
蚁群算法主要可以分为以下几个步骤:首先,蚁群中的每只蚂蚁都根据地面上信息素浓度的大小找出一条从原点通向终点的遍历所有城市一次的路径(构造路径):然后每只蚂蚁沿着自己刚刚找到的路径回溯,在路径经过的各个 ...
- MACS2 安装与使用
1)下载MACS2 下载网址: https://pypi.python.org/pypi/MACS2 (有下载网址和安装.使用示例) $ python setup.py install出现如下问题 ...
- PHP 编译安装
1, 获取源码wget -O php.tar.gz http://am1.php.net/get/php-5.6.27.tar.gz/from/this/mirrortar zxvf php.tar. ...
- NSJSONSerialization(json序列化)
//通过调用isValidJSONObject来判断Foundation对象是否可以转换为JSON数据 NSJSONSerialization isValidJSONObject:obj 我们能利用N ...
- SQL知识整理一:触发器、存储过程、表变量、临时表
触发器 触发器的基础知识 create trigger tr_name on table/view {for | after | instead of } [update][,][insert][,] ...
- 月薪3万的程序员告诉你:这样工作才能拿高薪(转 IT之家)
习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月 ...
- Android导航栏菜单强制转换
private void getOverflowMenu() { ViewConfiguration viewConfig = ViewConfiguration.get(this); try { F ...