有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaBridge php可能未安装为“/usr/bin/phpcgi”或“c:/php/phpcgi.exe”

我试图在Java应用程序和Apache/PHP应用程序之间建立一个JavaBridge。首先,我尝试通过CLI=>

MacBook-Pro:php-java-bridge_5-2 username$ java -classpath JavaBridge.war TestInstallation
Starting a simple servlet engine: [/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/bin/java, -jar, /Users/username/Downloads/php-java-bridge_5-2/ext/JavaBridge.jar, SERVLET_LOCAL:8081]
Sep 03 12:32:34 VMBridge INFO : VM                  : 1.8.0_92@http://java.oracle.com/
Sep 03 12:32:34 VMBridge INFO : VMBridge version             : 5.2.2    
Sep 03 12:32:34 VMBridge INFO : logFile             : 
Sep 03 12:32:34 VMBridge INFO : default logLevel    : 3
Sep 03 12:32:34 VMBridge INFO : socket              : SERVLET_LOCAL:8081
Sep 03 12:32:34 VMBridge INFO : java.ext.dirs       : /Users/username/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Sep 03 12:32:34 VMBridge INFO : php.java.bridge.base: /Users/username
Sep 03 12:32:34 VMBridge INFO : thread pool size    : 20
Sep 03 12:32:34 VMBridge INFO : JavaBridgeRunner started on port INET_LOCAL:8081
Invoking php: [php-cgi, -n, -d, allow_url_include=On, /Users/username/Downloads/php-java-bridge_5-2/test.php]
java.lang.RuntimeException: Could not run PHP ([php-cgi, -n, -d, allow_url_include=On, /Users/username/Downloads/php-java-bridge_5-2/test.php]), please check if php-cgi is in the path.

这似乎没有成功,所以我尝试了另一种选择;我用apachemamp安装了TomCat。安装进行得很顺利,我部署了JavaBridge

不幸的是,在尝试访问它时,我收到了一个类似于在CLI中运行它时的错误

HTTP Status 500 - An IO exception occured. Probably php was not installed as "/usr/bin/php-cgi" or "c:/php/php-cgi.exe"

type Exception report

message An IO exception occured. Probably php was not installed as "/usr/bin/php-cgi" or "c:/php/php-cgi.exe"

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

exception

javax.servlet.ServletException: An IO exception occured. Probably php was not installed as "/usr/bin/php-cgi" or "c:/php/php-cgi.exe"
 or "/Applications/MAMP/tomcat/webapps/JavaBridge/WEB-INF/cgi/php-cgi-x86_64-mac[.sh]|[.exe]".
Please see "php_exec" in your WEB-INF/web.xml and WEB-INF/cgi/README for details.
    php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:366)
    php.java.servlet.CGIServlet.doGet(CGIServlet.java:469)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.io.IOException: Cannot run program "php-cgi" (in directory "/Users/user"): error=2, No such file or directory
    java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    java.lang.Runtime.exec(Runtime.java:620)
    php.java.bridge.Util$Process.start(Util.java:839)
    php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:937)
    php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:991)
    php.java.servlet.PhpCGIServlet$CGIRunner.execute(PhpCGIServlet.java:271)
    php.java.servlet.CGIServlet.handle(CGIServlet.java:400)
    php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:355)
    php.java.servlet.CGIServlet.doGet(CGIServlet.java:469)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

目前我正处于解决这个问题的灵感中,有什么建议吗


共 (0) 个答案