因為某些緣故,需要有個 wordpress 環境,為了方便,所以想說本來電腦就有 tomcat 就看看能不能用 tomcat 直接執行 php。
結果上網查了查,還真的有辦法,在此紀錄一下:
安裝步驟
1. 安裝 tomcat 和下載 php
安裝 tomcat 是廢話,跳過
接下來要下載 php ,我的環境是 windows,所以直接進入 php 的下載頁,選擇 Windows downloads,然後選擇最新的版本下載(選 Zip 下載就好,不要選 Debug Pack或是Development package)
php 下載完,解壓縮後,在 tomcat 的 startup.bat 最前面(我是放在 setlocal 之後)加上以下 code
set PHP_HOME={你解壓縮完 php 的壓縮檔後,解壓縮的資料夾,亦即有 php.exe 的資料夾,例如 D:\php}
path %path%;%PHP_HOME%
後半步驟如果安裝了 php 並且有確定 path 有設置的話就可以跳過
2. 下載PHP/Java Bridge
為了執行 php ,需要 JavaBridge.jar 和 php-servlet.jar 這兩個檔案。
這兩個檔案都屬於 PHP/Java Bridge 這專案。
下載完後,將之放在 {tomcat 根目錄}/lib
資料夾即可
3. 設定 tomcat
再來是修改 tomcat 設定。
首先將 {tomcat 根目錄}/conf/web.xml
的 <welcome-file-list>
追加以下 node:
<welcome-file>index.php</welcome-file>
這段內容的目的是要讓首頁網址追加 index.php ,其實這段非必要,不過方便起見還是加上吧。
再來,同樣是 web.xml,在 <web-app>
node,亦即 root node,加上以下這段
<!-- ==================== PHP setting ===================== -->
<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 在執行 web apps 時自動帶入 php 的設定了
參考資料
好记性也要烂笔头, (2020, July 21). Tomcat下使用php. 簡書. https://www.jianshu.com/p/b54cffc406da
qq_28033719, (2018, August 18). Tomcat 下运行 php 文件(Windows). CSDN. https://blog.csdn.net/qq_28033719/article/details/80361823
沒有留言:
張貼留言