java - 如何在 php web 脚本中获取 java 应用程序的输出?

标签 java php

我编写了一个从命令行运行的 Java 应用程序。我想让用户通过一个简单的 PHP Web 界面访问它 - 它只允许他们指定某些参数,然后执行 java 应用程序并返回输出。

出于某种原因,当我尝试使用 Java 执行任何操作时,我收到“权限被拒绝”错误消息,即使是像这样简单的操作:

shell_exec('/usr/bin/java -version 2>&1');

通过浏览器运行时返回“sh:/usr/bin/java: Permission denied”。

如果我给 apache 一个 shell 帐户并以 apache 身份登录,我可以很好地执行这个命令。

如果没有关联的 tty,是否有某种设置会阻止 JVM 运行?我怎样才能让它工作?我正在运行 PHP 5.3.2。

谢谢

最佳答案

您的应用程序主机可能会受到像 AppArmor 这样的工具的限制。或 SELinuxTOMOYOSMACK , 或类似的限制工具。

将 Apache 限制为允许执行 /usr/bin/whoami 但不允许执行 /usr/bin/java 将非常简单。

请您的系统管理员为您授予对 java 和您的 jar 的访问权限。

关于java - 如何在 php web 脚本中获取 java 应用程序的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386512/

相关文章:

java - 找不到具有不同 buildvariant 的包名称 "...."的匹配客户端

java - 使用 Spring JPA 规范按子查询排序

java - 使用 Apache Camel 进行端点注入(inject)

php - Python 脚本从内部被杀死,但进程并没有死

php - 在 WooCommerce 管理员订单项上显示 "product short description"

java - 使用Picasso从firebase获取图像问题

java - 如何使用 Spring MVC 在外部 Web 服务器上托管 JSP 页面以进行更多动态编辑

javascript - 在 SweetAlert 中显示视频

php - 在 where 子句中找不到列

php - 如果运送方式更改,则隐藏结账页面上的自定义字段