如何在Apache Tomcat 9中运行PHP程序?
在Tomcat 9中运行PHP的可行替代方案
下面提供几种经过验证的方法,帮你在Tomcat 9环境下运行PHP代码:
方法一:使用Quercus(Java版PHP引擎)
Quercus是纯Java实现的PHP引擎,能直接在Tomcat这类Java Servlet容器中运行PHP代码,无需单独安装PHP环境:
- 下载适配Tomcat 9的Quercus war包,将其放入Tomcat的
webapps目录,Tomcat启动时会自动解压该包 - 将你的PHP代码复制到解压后的Quercus目录(比如
webapps/quercus/your_project) - 启动Tomcat,通过
http://localhost:8080/quercus/你的脚本名.php访问即可执行PHP代码 - 注意:部分PHP扩展(如GD、MySQLi)可能存在兼容性问题,复杂项目建议先做功能测试
方法二:Tomcat反向代理+PHP-FPM
这种方式借助PHP-FPM处理PHP请求,Tomcat做反向代理,能完美兼容所有PHP特性,适合生产环境:
- 先安装并配置PHP-FPM,确保它监听本地端口(默认是9000),且能正常处理PHP文件
- 修改Tomcat的
conf/server.xml,在<Service>节点下新增一个用于代理的Connector:<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" /> - 在你的Web应用的
WEB-INF目录下创建rewrite.config文件,添加转发规则:RewriteRule ^/(.*\.php)$ http://localhost:9000/$1 [P] - 在
conf/context.xml中启用RewriteValve,让Tomcat支持URL重写:<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> - 启动Tomcat和PHP-FPM,访问
http://localhost:8081/你的脚本名.php即可触发PHP-FPM处理请求
方法三:使用JavaBridge(PHP-Java桥接工具)
JavaBridge通过桥接本地PHP环境和Tomcat,实现PHP代码在Tomcat中的运行:
- 下载JavaBridge的war包,放入Tomcat的
webapps目录解压 - 将你的PHP代码放到JavaBridge的web根目录,或者修改配置指向你的PHP项目路径
- 编辑JavaBridge的配置文件,指定本地PHP解释器的绝对路径(比如
/usr/bin/php或C:\php\php.exe) - 启动Tomcat,通过JavaBridge的访问入口执行PHP脚本
- 注意:需要确保本地已安装完整的PHP环境,且Tomcat进程有访问PHP解释器的权限
内容的提问来源于stack exchange,提问作者Jayzz
相关产品推荐
相关产品推荐

