Travailler avec Php-Java Bridge
Je vais avoir de la difficulté à mettre en place la Php-Java Bridge
en place correctement.
Je vais vous expliquer ce que j'ai fait.
- Mon site est en pur php
- Pour notre transaction de paiement nous avons besoin de mettre en place un php-java bridge
- J'ai suivi ce lien pour configurer le pont PHP-JAVA BRIDGE INSTALATION.
- Ici, j'ai appris que j'ai besoin d'avoir un privé jvm pour installer le pont.
- Donc le 1er, j'ai installé apache-tomcat-6.0.14 en Privé JVM à l'aide de mon c-panel. Après l'installation, on me demande de Carte d'un domaine privé de la JVM. Donc, je l'ai associé mon nom de domaine example.com (qui est la seule option disponible).
- Puis, il a demandé de permettre une réorientation du trafic de serveur web Apache de mon serveur d'application Java (il y a une case à cocher et j'ai cliqué)
- Enfin, il m'a demandé de déployer le Fichier WAR (JavaBridge.La GUERRE était mon dossier) et tout semble très bien
- Maintenant quand je vais http://example.com/JavaBridge/ j'ai pu voir la javabridge exemples et il fonctionne très bien.
SO FAR SO GOOD
Maintenant mon problème commence ici lorsque je tente d'accéder à un fichier de classe java à partir de php. Un échantillon test.php
est ce que j'ai créer et de mettre le code suivant dans.
<?php
require_once("http://example.com:portnumber/JavaBridge/java/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties(); //This Part echo's correctly and shows the data so it means i can access Java.inc Correctly
$path_e24class = getcwd(). '/e24PaymentPipe.class'; //This part fails both test.php and java class file e24PaymentPipe.class are in the same directory in publich_html folder
java_require($path_e24class);
$pipe = new Java("e24PaymentPipe");
$pipe->setAction("1");
?>
Mon contenu du site résident dans le dossier public_html et la GUERRE de fichier sont déployés dans le privé jvm.
Ces sont le message d'erreur obtiens.
1) Warning: java_require() not supported anymore. Please use tomcat or jee hot deployment instead
Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new e24PaymentPipe. Cause: java.lang.ClassNotFoundException: e24PaymentPipe VM: 1.6.0_22@http://java.sun.com/" at: #-10
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358) #-9
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) #-8
java.lang.Class.forName0(Native Method) #-7
java.lang.Class.forName(Class.java:247) #-6
php.java.bridge.Util.classForName(Util.java:1518) #-5
php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) #-4
php.java.bridge.Request.handleRequest(Request.java:458) #-3
php.java.bridge.Request.handleRequests(Request.java:500) #-2
php.java.bridge.http.ContextRunner.run(ContextRunner.java:145) #-1
php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0
http://example.com:portnumber/JavaBridge/java/Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(3, 'java.util.Prope...', 'T', false) #1
Enfin je ne sais pas beaucoup sur le java. Alors je ne suis coincé ici, ne sachant pas quoi faire.
Avez-vous été en mesure de résoudre les problèmes avec
java_require()
?OriginalL'auteur Scrappy Cocco | 2011-03-22
Vous devez vous connecter pour publier un commentaire.
Ici est une grande étape par étape tutoriel vous pouvez suivre, ce qui montre tout ce qu'il faut! Il est un peu ancien (2007) mais qui m'a aidé tout à l'heure.
Il y a aussi une autre option. Vous pouvez installer Apache Tomcat et déployer votre guerre. Vous pouvez même avoir plusieurs instances tomcat simultanément avec votre httpd exécutent en même temps sur la même machine, aussi longtemps que vous respectez les paramètres de port. Vous pouvez même devant eux avec Apache httpd.
Cocco: super ce que vous avez aimé! Vous trouverez que les choses sont heureusement étonnamment identiques entre windows et linux. Vous devez remplacer ".dll" avec ".alors, le chemin de la séparation de caractère "\" par des "/", et les répertoires sont situés dans différents endroits, mais facile à suivre. Après toutes les fenêtres ont copié beaucoup de conventions utilisées dans Unix.
Connaissez-vous un travail autour de la
require_java()
d'erreur indiqué ci-dessus?Ne l'Étape 10 de vous donner un "Hello World" de sortie?
Pas de. J'obtiens une erreur
Warning: java_require() not supported anymore. Please use
OriginalL'auteur Costis Aivalis
vous pouvez essayer ceci:
bonne chance!
OriginalL'auteur dfy7
Vous pouvez utiliser cette php de mise en œuvre sur github qui fonctionne avec php 5.3.
Voir les crédits sur le git readme pour plus d'informations.
OriginalL'auteur Kieran Andrews
Vous pouvez l'essayer; mettre l'JavaBridge.jar dans le dossier lib de tomcat par exemple apache-tomcat-7.0.12/lib.
Redémarrer tomcat server et puis,
De cette façon, j'ai créé la version de php de l'objet.
OriginalL'auteur sumanchalki
Pourquoi ne pas vous mettre la e24PaymentPipe classe dans votre application Java du classpath et passez les deux lignes ci-dessous:
Vous sont un mélange de PHP côté et Java côté des opérations. en théorie, la java_require (ce qui est déconseillé) a été conçu pour fonctionner sur le Java côté. Vous spécifiez un PHP côté de chemin de.
OriginalL'auteur cquezel
Vous pouvez vous épargner beaucoup de chagrin à l'aide d'un pur PHP de mise en œuvre de la e24PaymentPipe bibliothèque.
Avertissement
Le lien est à mon dépôt github de la bibliothèque, mais je n'ai pas l'écrire. Voir le fichier readme pour origine des crédits.
OriginalL'auteur Burhan Khalid