Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 18h06   #1
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Par défaut Utiliser JAVA dans PHP

Bonjour,

J'essaye d'intégrer Java dans PHP afin d'exploiter un bibliothèque JAR.
J'ai pas mal recherché sur la toile, mais je n'ai pas trouvé un bon tuto. qui l'explique.
Configuration:
SE: Windows XP
Serveur: EasyPHP
Version: PHP 5.2

Merci d'avance pour votre aide.
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 18h08   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Et pourtant c'est dans le manuel:
- http://php.net/manual/en/book.java.php
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 18h23   #3
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Citation:
Envoyé par Benjamin Delespierre Voir le message
Et pourtant c'est dans le manuel:
- http://php.net/manual/en/book.java.php
Je suis sur PHP 5.2,
Il y a deux façon pour inclure Java dans du PHP.
1/ installer Zend Server
=> je ne peux pas parce que je dois développer mon application sur EasyPHP
2/intégrer PHP-Java-Bridge
=> je ne trouve pas de tuto clair pour le faire sur Windows.
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 19h42   #4
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonjour,

Tu as jeté un oeil à cette discussion ? http://www.developpez.net/forums/d19...p-java-bridge/
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 17h27   #5
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Merci pour votre réponse,
je confirme que j'ai testé ce Tutorial, sauf que j'ai ce code d'erreur
Code :
1
2
 
le point d'entrée de procédure zend_wrong_param_count est introuvable dans la bibliothèque de liaisons dynamique php4ts.dll
Je voulais être sur que je suis sur la bonne voie, j'explique rapidement:
1/ J'ai crée un soapclient, qui se connecte sur un web service en PHP
2/ Les appels vers les fonctions "standard" fonctionnent correctement (standard = qui n'utilise pas de type de donnée spécifique).
3/ Il y a une bib jar (il y a aussi une bib c#), qui me permet de faire des instances des objets spécifiques.

=> la question est comment j'utilise cette bibliothèque .jar dans un script php.
J'espère que j'étais clair !
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 17h39   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Il n'y a plus d'extension pour php java bridge c'est juste une classe PHP maintenant
http://php-java-bridge.sourceforge.net
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 17h58   #7
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Citation:
Envoyé par stealth35 Voir le message
Il n'y a plus d'extension pour php java bridge c'est juste une classe PHP maintenant
http://php-java-bridge.sourceforge.net
Merci pour votre retour,
Est ce que vous pouvez expliquer d'avantage.
J'ai tester ce code (j'ai bien inclut le fichier Java.inc ...)
Code :
1
2
3
4
 
require_once("http://localhost:8080/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties();
Sauf que j'ai eu cette erreur,
Code :
1
2
3
4
5
6
 
Warning: require_once() [function.require-once]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\EasyPHP-5.3.6.0\www\test.php on line 45
 
Warning: require_once(http://localhost:8080/Java.inc) [function.require-once]: failed to open stream: no suitable wrapper could be found in C:\EasyPHP-5.3.6.0\www\test.php on line 45
 
Fatal error: require_once() [function.require]: Failed opening required 'http://localhost:8080/Java.inc' (include_path='.;C:\php\pear') in C:\EasyPHP-5.3.6.0\www\test.php on line 45
bizarre !
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h15   #8
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Ce n'est pas bizarre... On ne peut pas faire de require/include d'une url en absolue.

Code :
require_once "Java.inc";
fonctionnerait mieux... (s'il le Java.inc est dans le même dossier que votre fichier php)
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h22   #9
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Je suis tout à fait d'accord,
Je me demande s'il faudra faire d'aute installation, include d'autres fichiers pour faire tourner Java dans PHP.
Je suis sur EasyPHP 5.3
Suite à cette modif, le code d'erreur est devenu:
Code :
1
2
3
4
 
Warning: fsockopen() [function.fsockopen]: unable to connect to 127.0.0.1:8080 (Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée. ) in C:\EasyPHP-5.3.6.0\www\Java.inc on line 994
 
Fatal error: Uncaught Could not connect to the JEE server 127.0.0.1:8080. Please start it. Error message: Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée. (10061) thrown in C:\EasyPHP-5.3.6.0\www\Java.inc on line 989
Citation:
Envoyé par Shikiryu Voir le message
Ce n'est pas bizarre... On ne peut pas faire de require/include d'une url en absolue.

Code :
require_once "Java.inc";
fonctionnerait mieux... (s'il le Java.inc est dans le même dossier que votre fichier php)
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h48   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Shikiryu Voir le message
Ce n'est pas bizarre... On ne peut pas faire de require/include d'une url en absolue.
si :
http://www.php.net/manual/fr/filesys...ow-url-include

d'ailleurs pour utiliser java bridge la directive doit être mis sur On
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h52   #11
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Une petite remarque, le code marche correctement sur Tomcat, mais non pas sur EasyPHP, je dois deployer sur EasyPHP :'(

Code :
1
2
3
4
 
require_once("http://localhost:8080/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties();
Citation:
Envoyé par stealth35 Voir le message
si :
http://www.php.net/manual/fr/filesys...ow-url-include

d'ailleurs pour utiliser java bridge la directive doit être mis sur On
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h54   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
mais EasyPHP c'est pas un serveur Java, tout le java bridge doit être sur un serveur Java, seul la partie cliente peu être sur un serveur web
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 19h25   #13
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
pour préciser un plus les infos données par stealth35.
php / asp etc .... nécessitent l'utilisation d'un serveur web avec différents modules (exemple php ....) cependant java lui nécessite d'utiliser un serveur d'application (tomcat, websphere etc ....) ton easyphp ne pourra pas faire tourné du java.

il ne pourra uniquement servir que de passerelle entre ton client (ie, ff) et le serveur d'appli afin de récupérer les données html à transférer à ton client.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 20h28   #14
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par stealth35 Voir le message
si :
http://www.php.net/manual/fr/filesys...ow-url-include

d'ailleurs pour utiliser java bridge la directive doit être mis sur On
allow-url-include à "on" est une bonne faille de sécurité :
http://phpsec.org/projects/phpsecinf...url_fopen.html
http://stackoverflow.com/questions/1...l-fopen-in-php

Bien sûr, c'est comme tout, ça se "pèse" et ça se prévoit. Mais il faut en être conscient.

Par ailleurs, je n'ai pas utilisé ce php/java bridge mais je ne vois nulle part cette obligation. Il y a des exemples style :
Code :
1
2
3
4
5
6
7
<?php
define("JAVA_SERVLET", false);
define("JAVA_HOSTS", 9267);
require_once("Java.inc");
echo new java("java.lang.String", "hello world");
echo     java("java.lang.System")->getProperties();
?>
Mais je comprendrais le "pourquoi" on doit le mettre à "on". Juste, je trouve leur doc... peu intuitive sans mettre les mains dedans (mais bon, j'avoue n'avoir pas été plus loin que ça)

Citation:
Envoyé par Vil'Coyote Voir le message
pour préciser un plus les infos données par stealth35.
php / asp etc .... nécessitent l'utilisation d'un serveur web avec différents modules (exemple php ....) cependant java lui nécessite d'utiliser un serveur d'application (tomcat, websphere etc ....) ton easyphp ne pourra pas faire tourné du java.

il ne pourra uniquement servir que de passerelle entre ton client (ie, ff) et le serveur d'appli afin de récupérer les données html à transférer à ton client.
C'est pourquoi ils utilisent Tomcat dans leur guide d'installation
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 20h48   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Shikiryu Voir le message
ce n'est pas une faille c'est un risque si on a aucun contre sur le fichier distant, hors la ce n'est pas le cas

[QUOTE=Shikiryu;5953349]

Par ailleurs, je n'ai pas utilisé ce php/java bridge mais je ne vois nulle part cette obligation. Il y a des exemples style :
Code :
1
2
3
4
5
6
7
<?php
define("JAVA_SERVLET", false);
define("JAVA_HOSTS", 9267);
require_once("Java.inc");
echo new java("java.lang.String", "hello world");
echo     java("java.lang.System")->getProperties();
?>
Mais je comprendrais le "pourquoi" on doit le mettre à "on". Juste, je trouve leur doc... peu intuitive sans mettre les mains dedans (mais bon, j'avoue n'avoir pas été plus loin que ça)


C'est pourquoi ils utilisent Tomcat dans leur guide d'installation

le Java.inc est a mettre sur le serveur Java, c'est le serveur qui fournis le pont pas le client, même si dans l'absolue c'est faisable
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 14h52   #16
Membre à l'essai
 
Inscription : juillet 2008
Messages : 104
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 104
Points : 24
Points : 24
Il faut donc installer un serveur d'application, Tomcat, qui execute le code Java et retourne le resultat vers EasyPHP.

L'application web est en prod sur EasyPHP, ainsi je ne peux pas changer mon serveur Web, je dois impérativement passer par EasyPHP.

Je me demande alors, comment j'établis le lien entre ma page php coté client sur EasyPHP et la nouvelle page à créer sur Tomcat qui communique directement avec Java. (en incluant le Java.inc)
Monta^^ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 23h01   #17
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
c'est de la conf de serveur apache. il faut indiquer que pour une url spécifique ou une extension de page etc ... le traitement ne se fait pas par lui mais par tomcat. il faudrait poser la question dans la section serveur pour avoir plus détail.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 09h53   #18
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Quitte à installer un serveur d'application Java, pourquoi ne pas utiliser Quercus ? C'est exactement le pendant de ce que tu essaie de faire: utiliser PHP dans Java.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 10h05   #19
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Citation:
Envoyé par Benjamin Delespierre Voir le message
Quitte à installer un serveur d'application Java, pourquoi ne pas utiliser Quercus ? C'est exactement le pendant de ce que tu essaie de faire: utiliser PHP dans Java.
Il me semble que ça soit le contraire utiliser Java dans PHP.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 11h12   #20
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Je propose une autre piste, voilà tout.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h23.


 
 
 
 
Partenaires

Hébergement Web