Intereting Posts
Код возвращает последнее значение перед последним обновлением вместо последнего введенного значения? Как создать PDF-файл с PHP? Сервер WAMP не отображает изображения получить запрошенный контроллер в предварительном контролере крючка в кодеригенере Как получить доступ к Laravel Homestead на других устройствах? json api graph call ничего не возвращает? Как получить данные из отношений с объединениями в yii Объекты, переданные в поле выбора, должны управляться Laravel – отображать PDF-файл в хранилище без принудительной загрузки? Исключения php OOP или die ()? Создать отчет с просмотрами страниц и уникальными посетителями, используя GAPI не может вызвать подсветку класса от работника preg_match_all не соответствует всем возможностям Как я могу предоставить страницу с ошибкой в ​​структуре Slim, когда исключение выбрасывается за пределы маршрута? API PHP для извлечения почты из Yahoo, GMail, Hotmail

Как использовать Java с PHP 5

Я просмотрел довольно много учебников по использованию Java от PHP, но они, похоже, конфликтуют с eachother. Многие из них говорят об изменении php.ini для использования DLL-файла, но, судя по всему, в PHP 5 есть встроенные возможности. Но это требует Tomcat? Должен ли я избавиться от Apache, чтобы запустить это? http://php-java-bridge.sourceforge.net/pjb/installation.php говорит, что он помещает файл .war в каталог autodeploy Tomcat, но я не вижу ни одного каталога с именем «autodeploy». Кто-нибудь объяснит шаг за шагом, как заставить Java-материал работать на машине Windows (я использую Windows 7) с PHP 5 и Apache?

Related of "Как использовать Java с PHP 5"

Вероятно, вы найдете массу бесполезной и устаревшей информации о том, как использовать Java-классы из вашего веб-приложения PHP, что совсем не помогает. Примерно год назад у меня возникла аналогичная проблема, и я узнал, что единственный способ, который достаточно зрелый для использования в производстве, – это PHP / Java Bridge – тот, который вы нашли в Sourceforge. Он работает лучше, чем можно было ожидать, и не требует знания Java (однако, если вы знаете Java, вам следует подумать о написании веб-сервиса для этой цели и использовать его на стороне PHP).

Документация Bridge не очень очевидна, однако помните, что вы должны придерживаться ее и не читать другие ресурсы, описывающие разные методы – не смешивайте вещи, то есть вам не нужно устанавливать какие-либо расширения PHP или smth – все они связаны с другими (обычно устаревшими и неподдерживаемыми) способами вызова Java из PHP.

PHP / Java Bridge – это сетевой протокол, поэтому единственное, что вам нужно на вашей стороне PHP, – это обеспечить, чтобы «allow_url_include» включен в вашем php.ini

Со стороны Java вам нужно заставить PHP / Java Bridge привязаться к свободному порту и слушать соединения. Тогда ваше PHP-приложение сможет выполнить «require_once» прокси-файла Bridge, который будет доступен на этом порту. Вот и все, и вы можете создавать и вызывать классы Java прозрачно из своего PHP-скрипта с использованием этого объекта-прокси-моста (он будет сериализовывать и передавать вызовы и результаты за кулисами).

Есть два варианта, как получить мост и привязать его к локальному порту.

1) сложный: установите Tomcat, создайте файл войны с самим мостом и библиотекой, которую вы хотите использовать. Этот способ описан здесь:

http://php-java-bridge.sourceforge.net/pjb/webapp.php

Чтобы развернуть войну в вашей установке Tomcat, просто поместите войну в папку Webapp Tomcat и перезапустите ее.

2) проще: упакуйте банку вместо войны и запустите ее (она будет использовать встроенный веб-сервер, поэтому вам не придется устанавливать Tomcat и развертывать что-нибудь). Чтобы перейти сюда, обратитесь к этой странице:

http://php-java-bridge.sourceforge.net/pjb/desktop-apps.php

Оба способа будут работать для вас (не смотрите на слово «рабочий стол» во втором варианте, таким образом, он отлично работает с вашим PHP-сервером).

Обратитесь к примерам о том, как использовать его в разделе «Примеры» (obvously). Также вы можете обратиться к моему маленькому PHP-клиенту, который говорит о встроенной базе данных Neo4J в Java, используя PHP / Java Bridge. Однако этот пример может быть более сложным и предназначен для развертывания в Tomcat, так или иначе вы можете иметь представление о том, как создавать экземпляры и использовать классы из него:

https://github.com/coffeesnake/neo4j-php-wrapper

Вы можете просто вызвать простое Java-приложение из PHP путем разметки процесса и передачи информации по stdin / stdout. В качестве альтернативы, если вы интегрируете Sphinx в webapp, вы можете интегрировать его посредством HTTP-вызовов.

Quercus :

Quercus – это быстрая, открытая исходная, 100% -ая реализация Java языка PHP. Quercus – это особенность сервера приложений Resyn Application of Caucho Technology и встроена в Resin – дополнительной загрузки / установки нет. Разработчики, использующие Resin, могут запускать проекты PHP, не устанавливая стандартный интерпретатор PHP ( http://www.php.net ), поскольку Quercus берет на себя роль механизма PHP.