1、安装jdk
https://www.oracle.com/java/technologies/downloads/#jdk19-windows
2、安装tomcat
https://tomcat.apache.org/download-80.cgi
https://blog.youkuaiyun.com/qq_41701956/article/details/126693711
3、下载php的程序包
本文环境为windows环境,故下载为zip包
解压到tomcat的安装路径下,重命名为php
4、部署php
设置环境变量,path添加刚才的路径D:\apache-tomcat-8.0.36\php;
cmd输入php -v 或php -version验证,若返回如下信息则php设置成功
这里安装php 8.0, 执行命令时, 提示. ‘C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll’ 14.14 is not compatible with this PHP build
// 即目前的VCRUNTIME140.dll扩展库,不兼容该PHP版本, 需要使用更高的版本去兼容该php
需要到微软官方站点, 下载响应的资源.
https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=msvc-170
4、配置php.ini
到php(根目录)路径下找到备份php.ini-development,并将原文件修改为php.ini
修改如下配置:
(1)去掉extension_dir = "ext"前面的;
(2)去掉cgi.force_redirect前面的;,并将值修改为0
5、修改context.xml
打开tomcat的conf文件夹,修改context.xml文件,在Context加上属性privileged=“true”
6、修改web.xml
在tomcat的conf下,打开web.xml在中加入如下,其中executable为php-cgi的执行路径
下面展示代码。
<servlet>
<servlet-name>php</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>200</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:\apache-tomcat-8.0.36\php\php-cgi.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/phpbin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
同文件下添加如下 ,其中url-pattern为php脚本路径
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/phpbin/*</url-pattern>
</servlet-mapping>
7、测试
在webapps\ROOT\WEB-INF下(或者刚刚指定好的目录)新建一个phpbin的文件夹,并将index.php放置其中,内容如下
<?php
php.info();
?>
重启tomcat,在浏览器输入http://localhost:8080/phpbin/index.php,打开界面如下时说明配置成功