2011-08-19 35 views
8

Đang sử dụng Tomcat 6. Tôi đã cài đặt PHP và cố gắng chạy PHP bên trong Tomcat bằng PHP/JavaBridge. Tôi đã triển khai JavaBridge.war bên trong thư mục webapp của Tomcat. Khi chạy bất kỳ tập lệnh PHP nào, tôi sẽ gặp lỗi này bên dưới. Xin vui lòng giúp đỡ và tôi cảm ơn bạn đã hỗ trợ của bạn.Không thể chạy tập lệnh PHP theo Tomcat

Đây là cách tôi cấu hình 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 - có thể sử dụng được phép thuật báo giá --enable-bcmath enable-lịch enable-ftp enable-socket 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-lực-cgi-redirect

Các thông điệp lỗi từ Tomcat như sau:

HTTP Status 500 -

loại ngoại lệ báo cáo

nhắn

Mô tả Máy chủ gặp phải lỗi nội bộ() ngăn nó từ thực hiện yêu cầu này.

ngoại lệ

javax.servlet.ServletException: php.java.bridge.http.FCGIConnectException: Không thể kết nối đến máy chủ 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 WEBC79) org.a pache.tomcat.util.net.AprEndpoint $ Worker.run (AprEndpoint.java:1584) java.lang.Thread.run (Thread.java:662) nguyên nhân gốc

php.java.bridge.http.FCGIConnectException : Không thể kết nối với máy chủ 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 WEBC79) org.apache.tomcat.util.net.AprEndpoint $ Worker.run (AprEndpoint.java:1584) java.lang.Thread.run (Thread.java:662) nguyên nhân gốc rễ

java.io.IOException: java.net.ConnectException:. Kết nối từ chối 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 WEBC79) org.apache.tomcat.util.net .AprEndpoint $ Worker.run (AprEndpoint.java:1584) java.lang.Thread.run (Thread.java:662) nguyên nhân gốc

java.io.IOException: PHP không tìm thấy. Vui lòng cài đặt php-cgi. PHP test lệnh là: [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) lưu ý Dấu vết ngăn xếp đầy đủ của nguyên nhân gốc rễ có sẵn trong nhật ký Apache Tomcat/6.0.29.

Apache Tomcat/6.0.29

+2

Không tìm thấy PHP. Vui lòng cài đặt php-cgi. – madflow

+0

Xin chào, dòng cấu hình của tôi đã có --enable-fastcgi. Tôi có cần thêm bất kỳ thứ gì để hỗ trợ cgi không? Tôi khá bối rối. Xin vui lòng giúp đỡ. TIA. – Segaraga

+0

Điều này có giải quyết được không? http://stackoverflow.com/questions/2728632/php-java-bridge-problem - (-Dphp.java.bridge.php_exec =/usr/bin/php) – madflow

Trả lời

0

Cài đặt lại và cho phép fastcgi nó làm việc cho tôi!

2

tôi đã có lỗi tương tự như bạn, điểm then chốt bạn đang thiếu ở đây là:

PHP CLI (Command Line Interface) cần phải được thiết lập để làm việc với java php cầu

như bạn khẳng định đã cài đặt PHP (bất kỳ phương tiện XAMPP/WAMP)

Đi qua các bước sau:

  • Thêm PHP để biến môi trường PATH - Help
  • Xác nhận cấu hình bằng cách Run CMD>

    php-cgi -v 
    
  • Bởi các lệnh trên, bạn sẽ thấy thông tin phiên bản PHP
  • Khởi động lại Tomcat

PHP/JavaBridge sẽ bắt đầu hoạt động sau này.

+0

Chỉ cần thực hiện lệnh apt-get install php-cgi' và 'service tomcat8 restart' và' phpinfo() 'bắt đầu hoạt động. –

0

Tôi cũng gặp vấn đề tương tự.Một đề xuất khác là thêm

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

vào dòng lệnh. Thay vào đó, tôi đã sửa đổi xuất khẩu JAVA_OPTS trong tệp catalina.sh của tôi để thêm nó. Mà không làm việc, nhưng tôi kết hợp nó với các gợi ý ở trên và thêm

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

để catalina.sh. Tôi đã trả về máy chủ và kết nối với máy chủ/JavaBridgeTemplate621/và nhận được trang cài đặt PHP/Java Bridge.

Các vấn đề liên quan