最近作項目遇到了問題,服務器是用的tomcat,而有用到php,就想在tomcat下面能夠運行php,步驟以下:php
1.下載php壓縮包解壓或者用wamp/xamppjava
我下載的是wamp,用的裏面的php,把php的地址配置到path中,執行php -v看是否正確web
除了php以外還須要安裝java虛擬機和tomcat。這些工具的最低配置爲php 5.x、java 6或以上、tomcat 6或以上。tomcat
還須要服務器
這個東西的支持。要不就會報錯缺乏dll或者沒法運行php.exe的問題。app
2.下載JavaBridge.jar、php-servlet.jar和php-script.jar並將它們複製到tomcat的lib目錄下工具
3.修改tomcat安裝目錄下conf文件夾裏的web.xml文件,在web-app標籤裏增長如下的代碼;url
<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標籤裏增長下面這一行代碼spa
<welcome-file>index.php</welcome-file>
5.在php.ini中修改以下:(須要把php.ini-development文件更名成php.ini).net
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的鏈接橋。