2011-08-19 111 views
8

我正在使用Tomcat 6.我已經安裝了PHP並嘗試使PHP在PHP/JavaBridge的Tomcat內部運行。我在Tomcat的webapps目錄中部署了JavaBridge.war。在運行任何PHP腳本時,我會在下面看到這個錯誤。請幫助,我感謝你的幫助。無法在Tomcat下運行PHP腳本

這是我如何配置PHP:

的./configure --with-MIME魔法 --with-配置文件路徑=在/ usr /本地/ Zend公司的/ etc --with --with-mhash =/usr/local --with-bz2 =/usr --with-curl -apxs2 =/usr/local/apache2/bin/apxs --with-libxml-dir =/usr --with-mhash =/usr/=的/ usr --with-gettext的=/USR --with-mysql的=在/ usr /本地/ MySQL的 --with-mcrypt的=在/ usr /本地 --enable-魔術引號 --enable-bcmath時 --enable日曆 --enable-FTP --enable的套接字 --enable-WDDX --enable-MBSTRING --enable拉鍊 --enable-EXIF --with-GD =/USR --with-freetype的-DIR =/USR --with-JPEG-DIR =/USR --with-PNG-DIR =/USR --enable-GD-天然-TTF --enable-fastcgi的 --enable力-CGI-重定向從Tomcat

錯誤封郵件如下:

HTTP狀態500 -

型異常,從完成此請求防止 它報告

消息

描述服務器遇到一個內部錯誤()。

例外

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.a pache.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)根源

java.io.IOException的: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)根本原因

java.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.run(FCGIConnectionFactory.java:109) 注意根源的完整堆棧跟蹤可在Apache Tomcat/6.0.29日誌中找到。

的Apache Tomcat/6.0.29

+2

PHP未找到。請安裝php-cgi。 – madflow

+0

嗨,我的配置行確實有--enable-fastcgi。我需要額外添加任何東西來啓用cgi支持嗎?我很困惑。請協助。 TIA。 – Segaraga

+0

這是否解決了它? http://stackoverflow.com/questions/2728632/php-java-bridge-problem - (-Dphp.java.bridge.php_exec =/usr/bin/php) – madflow

回答

0

重新安裝並啓用FastCGI的它爲我工作!

2

我有同樣的錯誤是你的, 你錯過這裏的關鍵點是:

PHP CLI(命令行界面)需要設置與Java-PHP 工作橋

你聲稱已經安裝了PHP

(任何方式XAMPP/WAMP)

經過以下幾個步驟:

  • 加入PHP到PATH環境變量 - Help
  • 通過運行CMD確認配置>

    php-cgi -v 
    
  • 通過上面的命令,你會看到PHP版本信息
  • 重新啓動Tomcat

PHP/JavaBridge應該在此之後開始工作。

+0

剛纔'apt-get install php-cgi'和'service tomcat8 restart'和'phpinfo()'開始工作。 –

0

我有同樣的問題。另一個建議是將

-Dphp.java.bridge.php_exec=/usr/bin/php 

添加到命令行。相反,我修改了我的catalina.sh文件中的JAVA_OPTS導出來添加它。這是行不通的,但我把它與上面的建議結合起來,並加上

-Dphp.java.bridge.php_exec=/usr/bin/php-cgi 

catalina.sh。我退回了服務器並連接到服務器/ JavaBridgeTemplate621 /並獲得了PHP/Java Bridge設置頁面。