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

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 根目錄\conf\web.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:\Installed\Tomcat\php\php-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 根目錄\php\ext",或"ext" 
        b) 設置 cgi.force_redirect 為 0

 

 

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

      

三、部署 PHP,查看效果:
     1.在 Tomcat 根目錄\webapps\ROOT\WEB-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.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM