繁体   English   中英

HTTP状态500 - PHP FastCGI实例失败

[英]HTTP Status 500 - PHP FastCGI instance failed

我已经将JavaBridge添加到apache-tomcat / webapps /。
当我尝试在浏览器中打开JavaBridge( localhost:8080/JavaBridge )时,我得到了

HTTP Status 500 - PHP FastCGI instance failed. 

没有它我假设c / p JavaBridge.jar,php-script.jar和php-servlet.jar,并且创建test.php是没用的。
我该如何解决这个问题?

我在JasperReports Server 6.0.1上使用tomcat v7

其余的错误:

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.

将文件从C:/PHP复制到C:/Program Files/PHP

JavaBridge.war有不正确的php-cgi二进制文件,并使用cgi目录中的php.ini。 它必须安装在C:/Program Files/PHP (C:/ PHP不起作用,除非在web.xml中以某种方式更改了init-parmas)

检查这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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM