zoukankan      html  css  js  c++  java
  • [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:Javajre
        JVM Version: 1.8.0
        CATALINA_BASE: D:InstalledTomcat
        CATALINA_HOME: D:InstalledTomcat

        (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 ools.jar
          TOMCAT_HOME  D:InstalledTomcat
          Path         %JAVA_HOME%in;

      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 根目录confcontext.xml,找到 <Context> 标签,添加属性: privileged="true"

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

        2.配置 Web-App:

          打开 Tomcat 根目录confweb.xml,配置 php 的 Servlet:

     1 <servlet>  
     2     <servlet-name>php</servlet-name>  
     3     <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>  
     4     <init-param>  
     5       <param-name>clientInputTimeout</param-name>  
     6       <param-value>200</param-value>  
     7     </init-param>  
     8     <init-param>  
     9       <param-name>debug</param-name>  
    10       <param-value>0</param-value>  
    11     </init-param>  
    12     <init-param>  
    13       <param-name>executable</param-name>  
    14       <param-value>D:InstalledTomcatphpphp-cgi.exe</param-value> <!-- 此节点值为“php-cgi.exe”亦可 -->
    15     </init-param>  
    16     <init-param>  
    17         <param-name>passShellEnvironment</param-name>  
    18     <param-value>true</param-value>  
    19 </init-param>  
    20     <init-param>  
    21       <param-name>cgiPathPrefix</param-name>  
    22       <param-value>WEB-INF/php</param-value>  
    23     </init-param>  
    24      <load-on-startup>5</load-on-startup>  
    25 </servlet>  
    26 
    27 <servlet-mapping>  
    28     <servlet-name>php</servlet-name>  
    29     <url-pattern>/php/*</url-pattern>  
    30 </servlet-mapping> 

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

    1 extension_dir = "D:InstalledTomcatphpext"
    2 cgi.force_redirect = 0

          

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

    1 <?php
    2 echo " Hello World! <br>";
    3 echo " Hello Tanken·L! <br>";
    4 echo " Hello itanken.net! <br>";
    5 ?>

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

          

    Done.


    作者:星柒天iTanken出处:http://www.cnblogs.com/iTanken/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    内存堆与栈的区别
    深度理解相对路径和绝对路径
    INFO:InstallAnywhere的Enterprise版本和Standard版本的主要区别
    HOWTO:InstallShield中如何调用批处理文件
    HOWTO:InstallScript工程中如何在用户协议界面中默认为接受协议
    HOWTO:InstallShield中如何通过脚本获取“My Documents”路径
    INFO:InstallShield工程中关于.NET依赖项的编译扫描警告
    InstallShield Kevin Wan博客文章索引列表(001~100)
    HOWTO:在InstallShield脚本中打开一个URL链接
    INFO:在InstallShield中修改安装包压缩.cab包的大小
  • 原文地址:https://www.cnblogs.com/iTanken/p/iTanken-TomcatRunPHP.html
Copyright © 2011-2022 走看看