我正在使用 Tomcat 6。我已经安装了 PHP 并尝试使用 PHP/JavaBridge 在 Tomcat 中运行 PHP。我已在 Tomcat 的 webapps 目录中部署了 JavaBridge.war。当运行任何 PHP 脚本时,我会收到以下错误。请帮助,我感谢您的帮助。
这就是我配置 PHP 的方式:
./configure --with-mime-magic
--with-config-file-path=/usr/local/Zend/etc
--with-apxs2=/usr/local/apache2/bin/apxs
--with-libxml-dir=/usr
--with-mhash=/usr/local
--with-bz2=/usr
--with-curl=/usr
--with-gettext=/usr
--with-mysql=/usr/local/mysql
--with-mcrypt=/usr/local
--启用魔术引号
--启用 bcmath
--启用日历
--启用 ftp
--启用套接字
--启用-wddx
--启用-mbstring
--启用压缩
--启用 exif
--with-gd=/usr
--with-freetype-dir=/usr
--with-jpeg-dir=/usr
--with-png-dir=/usr
--启用-gd-native-ttf
--启用fastcgi
--启用强制cgi重定向
Tomcat的错误信息如下:
HTTP 状态 500 -
类型异常报告
message
描述 服务器遇到内部错误 (),导致无法执行
它从满足这个请求。
例外
javax.servlet.ServletException:
php.java.bridge.http.FCGIConnectException:无法连接到服务器
php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:133)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
java.lang.Thread.run(Thread.java:662)根本原因
php.java.bridge.http.FCGIConnectException:无法连接到服务器
php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58)
php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
java.lang.Thread.run(Thread.java:662)根本原因
java.io.IOException:java.net.ConnectException:连接被拒绝
php.java.bridge.http.FCGIConnectException.(FCGIConnectException.java:37)
php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58)
php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
java.lang.Thread.run(Thread.java:662)根本原因
java.io.IOException:找不到 PHP。请安装 php-cgi。 PHP测试
命令是:[php-cgi,-v]
php.java.bridge.Util$Process.start(Util.java:1145)
php.java.servlet.fastcgi.FCGIProcess.start(FCGIProcess.java:68)
php.java.bridge.http.SocketChannelFactory.doBind(SocketChannelFactory.java:125)
php.java.bridge.http.FCGIConnectionFactory.runFcgi(FCGIConnectionFactory.java:88)
php.java.bridge.http.FCGIConnectionFactory$1.run(FCGIConnectionFactory.java:109)
注意 根本原因的完整堆栈跟踪可在 Apache
Tomcat/6.0.29 日志。
阿帕奇汤姆猫/6.0.29
我也犯了和你一样的错误
您在这里缺少的关键点是:
PHP CLI(命令行界面)需要setup使用 java-php
桥
正如您声称已经安装了 PHP(任何手段 XAMPP/WAMP)
请执行以下步骤:
- 将 PHP 添加到 PATH 环境变量 -Help https://stackoverflow.com/a/22607578/2584794
-
通过运行CMD>确认配置
php-cgi -v
- 通过上面的命令你会看到PHP版本信息
- 重启Tomcat
PHP/JavaBridge 应该在此之后开始工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)