Как вызвать пользовательские java-методы из PHP?

Я новичок в PHP и Java. В настоящее время я работаю над проектом, который вызывает класс java и его методы в PHP-коде. Я создаю для этого доказательство концепции. Проблема в том, что я не могу подключить пользовательский класс, который я создал в java. Более того, можно сказать, что я не знаю, как это сделать. Я использовал файлы java.inc и javabridge.jar для подключения к системным классам, но не смог подключиться к простому классу. Следующий шаг:

Создал пакет java, класс clsForPHP и имеет метод sum (), который принимает 2 параметра и возвращает целочисленное значение. (Это создается с помощью MyEclipse IDE) Теперь я пытаюсь вызвать эту функцию из PHP. Я скопировал файл jar, содержащий пакет для PHP-проекта. (Eclipse-Helios – это IDE) $ d = новая java («clsForPHP.class»);

Пожалуйста помоги!! Я много искал, но не смог найти правильное решение. Я думаю, что этот пакет должен быть добавлен в файл java.inc, но я не знаю, как это сделать.

Прежде всего установите Tomcat6 и Java в поле Unix. Скорее всего, ваш Tomcat будет на порту 8080. Теперь загрузите JavaBridge.war из http://php-java-bridge.sourceforge.net/pjb/ разархивируйте его. Затем из папки WEB-INF / lib скопируйте файл JavaBridge.jar, php-servlet.jar и php-script.jar в папку lib Tomcat. Затем скопируйте файл JavaBridge.war в папку webapps Tomcat6 и перезапустите службу tomcat6, которая автоматически развернет папку JavaBridge в вашем webapps

Теперь попробуйте просмотреть http: // localhost: 8080 / JavaBridge / . Если вы работаете, чем установлен ваш PHP / Java Bridge. Первая часть закончилась.

Теперь сделайте тестовую страницу в своем apache, как показано ниже.

<?php require_once("http://localhost:8080/JavaBridge/java/Java.inc"); echo java("java.lang.System")->getProperties(); ?> 

и запустите его. Если он работает, вы можете начать работать с вашей работой. Если он не работает, у вас возникнет проблема с файлом php.ini. Попробуйте сделать allow_url_once = on в вашем php.ini.

Теперь просто скопируйте java-файл java в папку tomcat / webapps / JavaBridge / WEB-INF / lib / и всегда ставьте следующую строку на своей странице, где бы вы ни хотели, чтобы Java работал

 require_once("http://localhost:8080/JavaBridge/java/Java.inc"); $yourObj = Javav("your java class"); $yourObj->yourMethod(); $yourObj->setProperty("xxx"); 

Надеюсь, это поможет вам.

ЕСЛИ у вас все еще есть проблемы.

Да, это вызовет ошибку, потому что вы не должны копировать свой java-скомпилированный файл, может быть вашим файлом jar в PHP / Java Bridge.

Вы можете сделать следующие 2 варианта

  1. Если вы определили свой CATALINA_HOME, то скопируйте $ CATALINA_HOME / webapps / JavaBridge / WEB-INF / lib
  2. Если вы не определили свой CATALINA_HOME, тогда скопируйте / var / lib / tomcat6 / webapps / webapps / JavaBridge / WEB-INF / lib

Путь, о котором я говорю, предполагает, что у вас установлена ​​tomcat6, может быть, ваша папка webapps tomcat может быть в другом пути.