首頁  >  文章  >  後端開發  >  tomcat支援php嗎

tomcat支援php嗎

(*-*)浩
(*-*)浩原創
2019-09-11 11:48:073683瀏覽

java開發者都知道,tomcat是用來部署java web專案的。這段時間有個項目要求與PHP項目使用相同域名、相同端口,在不使用nginx的情況下如何實現?得知透過Java Bridge可以實現tomcat支援運行php運行。 

tomcat支援php嗎

咱也來試一下,有以下是詳細步驟。

1.環境準備

安裝了php環境、安裝java虛擬機器、tomcat

這些工具的最低配置為php 5.x、java 6或以上、tomcat 6或以上。

2.設定tomcat(推薦學習:PHP程式設計從入門到精通

將PHP/Java Bridge的JavaBridge. jar、php-servlet.jar和php-script.jar複製到tomcat的lib目錄下;

修改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>

做完以上步驟後重啟tomcat,就可以在任何工程下執行php腳本了,但是無法在webapps/下直接運行,因為tomcat官網對cgiPathPrefix的解釋如下:

The CGI search path will start at the web application root directory + File.separator + this prefix.

在webapps目錄下直接存取檔案index.php

<?php phpinfo();?>

存取時出現

tomcat支援php嗎##

以上是tomcat支援php嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn