хранение исполняемого файла Java, вызываемого через php - PullRequest
1 голос
/ 16 июля 2011

, поэтому я планирую, чтобы сайт PHP мог выполнять приложение Java с помощью exec () ....

мой вопрос: где мне хранить фактический jar-файл для java-приложения, помещать их в одну из папок на веб-сайте Apache или размещать во внешней папке, недоступной для apache

это вообще имеет значение? Я обеспокоен последствиями этого выбора для безопасности ....

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

Звучит довольно больно ... вы бы запускали JVM для каждого попадания на странице.Даже не принимая во внимание проблемы безопасности, подумайте о том, какую нагрузку это будет на вашу систему.

Возможно, вам лучше использовать подходящий Java-сервер, такой как Tomcat.

где это поставить, это в основном не имеет значения.Функции PHP exec () работают на уровне файловой системы, и их не волнует корень вашего http-документа и все такое.Если у вас правильно установлены разрешения и пути, он может находиться в любом месте на вашем компьютере.

0 голосов
/ 16 июля 2011

Когда вы используете Java, используя exec из php, вы запускаете его от имени пользователя Apache.Так что ИМХО этот каталог может быть доступен для Apache.Однако (как указано собакой в ​​комментарии) его не должно быть в Apache DocumentRoot, или файл .jar не должен быть доступен по HTTP.

ИМХО, более совершенная архитектура может содержать другой сервер Java (облегченный Jetty или Tomcat)веб-сервис (отдых или мыло).Ваш сайт должен вызывать этот веб-сервис на Java-сервере.Другой способ - поместить между ними менеджер очередей (или просто создать очередь в базе данных).Есть много лучших решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...