2015-03-02 167 views
0

我已将JavaBridge添加到apache-tomcat/webapps /。
当我尝试在浏览器(localhost:8080/JavaBridge)打开JavaBridge的我得到HTTP状态500 - PHP FastCGI实例失败

HTTP Status 500 - PHP FastCGI instance failed. 

,没有它我推测C/P JavaBridge.jar,PHP-script.jar和php-的servlet.jar,并创建一个测试.php没用。
我该如何解决这个问题?

我使用tomcat的V7JasperReports的服务器6.0.1

错误的其余部分:

type Exception report 

message PHP FastCGI instance failed. 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: PHP FastCGI instance failed. 
    php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:448) 
    php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:481) 
    php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:521) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) 


root cause 

php.java.bridge.http.FCGIConnectionException 
    php.java.bridge.http.FCGIInputStream.read(FCGIInputStream.java:58) 
    php.java.servlet.fastcgi.FastCGIServlet.parseBody(FastCGIServlet.java:362) 
    php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:433) 
    php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:481) 
    php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:521) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) 


root cause 

java.io.IOException: Protocol error 
    php.java.bridge.http.FCGIInputStream.doRead(FCGIInputStream.java:67) 
    php.java.bridge.http.FCGIInputStream.read(FCGIInputStream.java:54) 
    php.java.servlet.fastcgi.FastCGIServlet.parseBody(FastCGIServlet.java:362) 
    php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:433) 
    php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:481) 
    php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:521) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) 


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs. 

回答

0

复制文件从C:/PHPC:/Program Files/PHP

JavaBridge.war有不正确的php-cgi二进制文件,并使用来自 cgi目录的php.ini。它必须安装在C:/Program Files/PHP(C:/ PHP不起作用,除非莫名其妙的init-parmas在web.xml中改变)

入住过这2个问题。

1)Windows安装需要的php.ini在C:\WINDOWS,除非你使用 以下注册表项,以把它别的地方: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath

2)为了完整起见,不是JavaBridge问题:不要在Windows上使用PHP安装程序 ,不提供所有内容。取而代之的是获取二进制 分发并手动解压缩到C:/Program Files/PHP,将C:/Program Files/PHP添加到Windows路径中,添加PHPRC=C:/Program Files/PHP env var。修改 php.ini改变extensions_dir=C:/Program Files/PHP/ext

+0

我试过了,它不起作用 – Kerempuhh 2015-03-02 10:58:43

+0

但是你的错误是指向这个问题。 – Lafontein 2015-03-02 11:01:03

+0

我添加了2个问题,请检查它们可能会有所帮助。 – Lafontein 2015-03-02 11:05:33

相关问题