8

Tomcat 6 を使用しています。PHP をインストールし、PHP/JavaBridge を使用して Tomcat 内で PHP を実行しようとしています。Tomcat の webapps ディレクトリ内に JavaBridge.war をデプロイしました。PHPスクリプトを実行すると、以下のエラーが発生します。助けてください。あなたの助けに感謝します。

これは私がPHPを設定する方法でした:

./configure --with-mime-magic --with-config-file-path=/usr/local/Zend/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml- dir=/usr --with-mhash=/usr/local --with-bz2=/usr --with-curl=/usr --with-gettext=/usr --with-mysql=/usr/local/mysql --with-mcrypt=/usr/local --enable-magic-quotes --enable-bcmath --enable-calendar --enable-ftp --enable-sockets --enable-wddx --enable-mbstring --enable -zip --enable-exif --with-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 -

タイプ例外レポート

メッセージ

サーバーで内部エラー () が発生したため、この要求を実行できませんでした。

例外

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) 根本原因

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 ログで入手できます。

アパッチ トムキャット/6.0.29

4

3 に答える 3

4

私はあなたと同じエラーがありました。あなたがここで見逃している重要なポイントは次のとおりです。

java-php ブリッジを使用するには、 PHP CLI (コマンド ライン インターフェイス) をセットアップする必要があります。

あなたがPHPをインストールしたと主張するように(XAMPP/WAMPを意味します)

次の手順を実行します。

  • PHP を PATH 環境変数に追加する -ヘルプ
  • Run CMD> で構成を確認します。

    php-cgi -v
    
  • 上記のコマンドにより、PHP のバージョン情報が表示されます。
  • Tomcat を再起動する

この後、PHP/JavaBridge が動作を開始するはずです。

于 2015-11-05T18:15:53.060 に答える
0

fastcgiを再インストールして有効にするとうまくいきました!

于 2014-03-30T06:17:12.327 に答える