icono_twiter icono LinkedIn
Juan Alonso Ramos

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática, especialidad en Ingeniería del Software

Puedes encontrarme en Autentia: Ofrecemos de servicios soporte a desarrollo, factoría y formación

Somos expertos en Java/J2EE

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2010-04-23

Tutorial visitado 17.821 veces Descargar en PDF
Instalar Puente PHP-Java en Tomcat

Instalar Puente PHP-Java en Tomcat


Índice de contenidos.

1. Introducción

Hace ya algún tiempo que publicamos un tutorial de cómo se instalaba el Puente PHP-Java en un servidor web Apache.

Algo ha llovido desde entonces y las versiones, por suerte, han cambiado para bien, ahora la instalación es mucho más sencilla. Bastará con tener una instalación de PHP, un Apache Tomcat y el JavaBridge.war para tenerlo todo perfectamente montado. Manos a la obra.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

3. Instalación de PHP

La instalación de PHP es muy sencilla. Bastará con descargar el .zip y descomprimirlo en C:\PHP o bien en C:\Program Files\PHP\

El contenido del zip es el siguiente:

Es necesario añadir al path del sistema el directorio donde se encuentra PHP instalado. Para ello creamos la variable PHP_HOME=C:\Program Files\PHP\ y la añadimos al path del sistema: PATH=%PHP_HOME%;...

4. Instalación del Puente PHP-Java

Suponiendo que ya tenemos instalado el Apache Tomcat, la instalación del Puente PHP-Java se limita a dejar el zip php-java-bridge_6.1.2_documentation.zip Una vez descomprimido dejamos el JavaBridge.war en el directorio webapps del Tomcat. Este war contiene los jars del JavaBridge (JavaBridge.jar, php-servlet.jar...) y también un conjunto de ejemplos de utilización del puente PHP-Java por lo que es aconsejable instalarlo así para entender su funcionamiento.

Una vez copiado el JavaBridge.war arrancamos el Tomcat

5. Probar el Puente PHP-Java

Una vez arrancado el Tomcat, para probar que se ha desplegado correctamente la aplicación que contiene el puente, accedemos a http://localhost:8080/JavaBridge. Si todo ha ido bien nos saldrá la siguiente pantalla:

El phpinfo() nos devuelve que todo está correctamente instalado

Para probar que funciona correctamente el puente podéis jugar a adivinar el número secreto que trae como ejemplo de aplicación hecha en Java accedida a través de php

Lo importante, cuando desarrollemos el código de una página PHP y queramos llamar a lógica de negocio en Java es incluir la llamada al Java.inc necesaria para poder invocar a clases Java con la sintaxis PHP.

Para probar ésto creamos un prueba.php con el siguiente contenido:

Accediendo al prueba.php podemos comprobar que aparecen todas las propiedades del sistema

6. Documentación

Aunque no tiene mucho más misterio la configuración, siempre está bien echarle un vistazo a la documentación oficial.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2011-11-08-16:14:19

Autor: desarro3

Buenos dias, yo trabajo con php desde hace un tiempo y lo tengo instalado utilizando appserv y el tomcat lo instale atraves de netbeans, comprobe que la variable del path de php estuviese añadida al path del sistema y nada, no logro que corra el tomcat, tengo ademas el glasfish y dice que esta en el puerto 8080 y el tomcat en el 8084, segui los pasos utilizando ambos puerto y no logro que funcione. Agradeceria si me pueden dar alguna luz ya que tengo un poco más de una semana tratando de hacer esto y no me ha sido posible. Gracias

Fecha publicación: 2011-06-15-17:56:04

Autor: anamilagro

gracias por el tutorial, todo me salio bien, me corrio mi codigo de java en el documento de php; pero tengo una duda, cuando deseo conectarme a mysql me sale error, el error que me sale es el siguuiente
javax.servlet.ServletException: java.lang.RuntimeException: PHP Fatal error: Call to undefined function mysql_connect() in D:Liferaytomcat-6.0.18webappsJavaBridgeformularioindex.php on line 6

php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:499)
php.java.servlet.fastcgi.FastCGIServlet.doPost(FastCGIServlet.java:509)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126)

causa ra�z

java.lang.RuntimeException: PHP Fatal error: Call to undefined function mysql_connect() in D:Liferaytomcat-6.0.18webappsJavaBridgeformularioindex.php on line 6

php.java.servlet.fastcgi.FastCGIServlet.parseBody(FastCGIServlet.java:409)
php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:433)
php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:481)
php.java.servlet.fastcgi.FastCGIServlet.doPost(FastCGIServlet.java:509)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126)

la conexion la pruebo en mi appserver y normal me funciona, si se puede conectar a mysql, pero cuando solo ejecuto el apache tomcat, me sale ese error cuando deseo realizar la conexion a mysql

Fecha publicación: 2011-05-03-01:21:27

Autor: PaulaG

Exclente tutorial ha sido de mucha ayuda! Sin embargo tengo una pregunta, espero me puedan ayudar..

desde mi phpinfo(), me deberia aparecer algo de java??
y si no me aparece quiere decir que hay mal instalado?..
y si hay algo mal instalado xq este ejemplo me funciona

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

Gracias por la ayuda que me puedan prestar!

Fecha publicación: 2011-03-31-08:58:46

Autor: jalonso

Muchas gracias por la aportación.

Fecha publicación: 2011-03-30-23:22:14

Autor: gmontilla

Excelente tutorial! ha sido mi guía para instalar el php/java bridge de manera exitosa. Solo un detalle que puede sucerle a alguien en el futuro: en mis configuraciones estaba usando IIS 7 (Windows Vista Business), junto con Tomcat 6.032 y PHP 5.3.3 .Al colocar un script de php que llamaba las clases en java desde la carpeta C:inetpubwwwroot (esta es la carpeta donde colocas los documentos web para que corran en tu servidor local en IIS) me arrojaba el siguiente error:

"http:// wrapper is disabled in the server configuration by allow_url_include=0".

Ahora bien, lo que hay que hacer es ir al php.ini y buscar la variable allow_url_include que por defecto está en "Off". Se coloca en "On" y te fijas si la variable allow_url_fopen también esta en "On". Guardas los cambios en el php.ini y reinicias el servidor (IIS como Tomcat). Vuelves a intentar correr el script y "hagase la magia"!!.