tomcat支持php


最近做項目遇到了問題,服務器是用的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)

1、增加一行(這個最重要)
fastcgi.impersonate = 1
2、修改兩項(解開注釋就可以了)
cgi.fix_pathinfo=1
cgi.force_redirect = 0

6.部署php項目,在tomcat下面新建一個文件夾項目test,在里面新建一個a.php文件

地址欄通過

ip:端口/test/a.php訪問,可以看到結果了

注:

訪問后,會有這兩個文件夾生成,里面就是php與java代理的東西。跟引入的jar有關,即Php/Java Bridge  這是個php與java的連接橋。

 


免責聲明!

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



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