IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Utiliser JAVA dans PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    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.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Et pourtant c'est dans le manuel:
    - http://php.net/manual/en/book.java.php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    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.

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Tu as jeté un oeil à cette discussion ? http://www.developpez.net/forums/d19...p-java-bridge/

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    Merci pour votre réponse,
    je confirme que j'ai testé ce Tutorial, sauf que j'ai ce code d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Il n'y a plus d'extension pour php java bridge c'est juste une classe PHP maintenant
    http://php-java-bridge.sourceforge.net

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  8. #8
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Ce n'est pas bizarre... On ne peut pas faire de require/include d'une url en absolue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once "Java.inc";
    fonctionnerait mieux... (s'il le Java.inc est dans le même dossier que votre fichier php)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once "Java.inc";
    fonctionnerait mieux... (s'il le Java.inc est dans le même dossier que votre fichier php)

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    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

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    Une petite remarque, le code marche correctement sur Tomcat, mais non pas sur EasyPHP, je dois deployer sur EasyPHP :'(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    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

  13. #13
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    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.

  14. #14
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Points : 53
    Points
    53
    Par défaut
    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)

  17. #17
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    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.

  18. #18
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    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.

  19. #19
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    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.

  20. #20
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je propose une autre piste, voilà tout.

Discussions similaires

  1. comment utiliser un variable java dans php
    Par messi_hf dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2009, 11h21
  2. Exemple d'une utilisation java dans Lotus Notes
    Par Stéphane Maillard dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/08/2007, 02h53
  3. java dans php
    Par dasou dans le forum Langage
    Réponses: 3
    Dernier message: 07/08/2007, 22h41
  4. [Système] execution de java dans php
    Par Maitrresse dans le forum Langage
    Réponses: 3
    Dernier message: 25/04/2007, 11h43
  5. [Architecture] java dans php
    Par yann999 dans le forum Développement Web en Java
    Réponses: 14
    Dernier message: 03/05/2006, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo