/ 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 –enable-magic-quotes –enable-bcmath –enable-calendar –enable-ftp –enable-sockets –enable-wddx –enable-mbstring –enable-zip –enable-exif –with-gd=/usr –with-freetype-dir=/usr –with-jpeg-dir=/usr –with-png-dir=/usr –enable-gd-native-ttf –enable-fastcgi –enable-force-cgi-redirect
来自Tomcat的错误消息如下:
HTTP Status 500 – type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: php.java.bridge.http.FCGIConnectException: Could not connect to server 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) root cause php.java.bridge.http.FCGIConnectException: Could not connect to server 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) root cause java.io.IOException: java.net.ConnectException: Connection refused 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) root cause java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [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) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs. Apache Tomcat/6.0.29
我和你的错误有同样的错误,
你在这里缺少的关键点是:
需要设置PHP CLI(命令行界面)以使用java-php
桥
因为你声称安装了PHP(任何意味着XAMPP / WAMP)
完成以下步骤:
>将PHP添加到PATH环境变量 – Help
>通过运行CMD确认配置>
php-cgi -v
>通过上面的命令,您将看到PHP版本信息
>重启Tomcat
PHP / JavaBridge应该在此之后开始工作.
翻译自:https://stackoverflow.com/questions/7121372/cannot-run-php-script-under-tomcat