我使用Tomcat 6。我已经安装了PHP,并尝试让PHP与PHP/JavaBridge在Tomcat内运行。我已经部署了javbridge。Tomcat的webapps目录中的war。当运行任何PHP脚本时,我将得到下面的错误。请帮忙,谢谢你的帮助。
我是这样配置PHP的:
。/配置——with-mime-magic——with-config-file-path =/usr/地方/Zend/等——with-apxs2 =/usr/地方/输入/bin/apx型——with-libxml-dir =/usr——with-mhash =/usr/当地——with-bz2 =/usr——使用curl =/usr——with-gettext =/usr——使用mysql =/usr/地方/mysql——with-mcrypt =/usr/当地——enable-magic-quotes——enable-bcmath——enable-calendar——enable-ftp——enable-sockets——enable-wddx——enable-mbstring——enable-zip——enable-exif——与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状态500 -
type Exception report
消息
描述服务器遇到一个内部错误(),阻止
异常
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)根本原因
. io .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)根本原因
. 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.美元运行(FCGIConnectionFactory.java: 109)在Apache中提供了对根本原因的完整堆栈跟踪Tomcat/6.0.29日志。
Apache Tomcat/6.0.29
我有和你一样的错误,这里你漏掉的关键点是:
PHP CLI(命令行接口)需要setup才能与java-php一起工作桥
当你声称已经安装PHP(任何方式XAMPP/WAMP)
执行以下步骤:
- 添加PHP到PATH环境变量-帮助
通过运行CMD>
确认配置php-cgi -v
通过以上命令,您将看到PHP版本信息<- 重启Tomcat/gh>
PHP/javbridge应该在此之后开始工作
我也遇到了同样的问题。另一个建议是添加
-Dphp.java.bridge.php_exec=/usr/bin/php
到命令行。相反,我修改了catalina.sh
文件中的JAVA_OPTS
导出来添加它。这行不通,但我把它与上面的建议结合起来,并添加了
-Dphp.java.bridge.php_exec=/usr/bin/php-cgi
到catalina.sh
。我跳转服务器并连接到server/JavaBridgeTemplate621/并获得PHP/Java Bridge设置页面。
重新安装并启用fastcgi它为我工作!