2013-10-10 3 views
3

G '일,PHP에서 자바 코드와 통신하는 방법

PHP 스크립트에서 Java 함수를 호출해야하는 곳이 있습니다. 내가 PHP 자바 다리 개념을 통해 갔지만 PHP 스크립트에서 호출 할 수 없습니다. 내 프로세스가 잘못되었을 수도 있습니다. 아래의 프로세스가 무엇을 구현했는지 찾아보십시오.

  1. 단계 -1 C : \ XAMPP \ htdocs를 \ 바람둥이 \ 웹 애플리케이션이 웹 애플리케이션에 JavaBridge.war 해충해야합니다.
  2. 단계 - 2 추출물이 (JavaBridge.war) 파일. 다음/lib에 JavaBridge/WEB-INF로 이동 /과 C로 세 개의 파일 및 해충 아래에 복사 : 빈

    PHP-script.jar PHP-servlet.jar 파일 servlet_api.jar \ \ XAMPP \ htdocs를 \ 바람둥이 \ 웹 애플리케이션

  3. 단계 -3 편집 톰캣 CONT/web.xml에. 다음의 9 개 라인 가 표시 추가 + :

    + <listener><listener-class>php.java.servlet.ContextLoaderListener</listener-class></listener> 
        + <servlet><servlet-name>PhpJavaServlet</servlet-name><servlet-class>php.java.servlet.PhpJavaServlet</servlet-class> 
        + </servlet> 
        + <servlet><servlet-name>PhpCGIServlet</servlet-name><servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class> 
        + <init-param><param-name>prefer_system_php_exec</param-name><param-value>On</param-value></init-param> 
        + <init-param><param-name>php_include_java</param-name><param-value>Off</param-value></init-param> 
        + </servlet> 
        + <servlet-mapping><servlet-name>PhpJavaServlet</servlet-name><url-pattern>*.phpjavabridge</url-pattern> 
    

    + PhpCGIServlet * .PHP ...

  4. 단계 - 다시 4 Tomcat을 시작. 이제 Tomcat에 PHP 스크립트를 추가 할 수 있습니다.

  5. 단계 - 5 예를 들어, 일부 웹 컨텍스트에 "예"는 PHP 테스트 파일

    <?php require_once("java/Java.inc"); 
    echo java("java.lang.System")->getProperties(); ?> 
    

    을 추가하고 http://yourHost.com:8080/examples/test.php로 이동합니다.

잘 작동 그것하지만 난 htdocs에이 파일을 실행하고 할 때 (http://yourHost.com/test.php)의 던지는 예외.

잘못된 프로세스가 구현되었거나 새 인터페이스가이 문제를 해결하는지 알려주십시오.

전진 도움에 감사드립니다.

+1

예외는 무엇입니까? –

+0

@MattWilson 고맙습니다. – Neil

+0

경고 : require_once() : 2 행의 C : \ xampp \ htdocs \ test \ testjava.php에있는 allow_url_include = 0에 의해 서버 구성에서 http : // wrapper가 비활성화되었습니다. 경고 : require_once (http : // localhost : 8080/JavaBridge/java/Java.inc) : 스트림을 열지 못했습니다. 적절한 래퍼가 C : \ xampp \ htdocs \ test \ testjava에 없습니다.php on line 2 치명적인 오류 : require_once() : 'http : // localhost : 8080/JavaBridge/java/Java.inc'(include_path = '.;; C : \ xampp \ php \ PEAR')를 열지 못했습니다. C : \ xampp \ htdocs \ test \ testjava.php 2 번 라인 – Neil

답변

3

URL 포함을 허용하도록 php.ini를 설정해야한다고 생각합니다. The docs.

+0

고맙습니다. 그 일을 잘하고 있으면 알려줄거야. – Neil

관련 문제