【发布时间】:2014-12-22 06:12:17
【问题描述】:
我正在运行 MariaDB、Apache、Java 和 PHP 的 Linux 机器上设置一个小型实验......在玩了一整天并搜索了这个主题之后 - 我需要进一步澄清一些权限和位置.但让我先把这个框起来:
在我的网络目录:/var/www/html 我有一个小测试程序:test.php。它基本上是这样做的:
<?php
exec("java -jar MyApp.jar", $output);
print_r($output);
?>
MyApp.jar 是一个简单的 java 应用程序,它连接到本地 MariaDB 并返回从数据库中检索到的一些有用信息。
我的主要问题是:我的 .jar 文件应该在哪里以及如何确保从 php 执行正确的 jar(如何引用它?完整路径?)以及我需要修改的方式/位置/其他什么....
编辑: 现在我要把文件放进去:
/usr/share/httpd/
在 PHP 代码中,我将引用完整路径:即
exec("java -jar /usr/share/httpd/MyApp.jar", $output);
为了帮助他人 - 我还偶然发现了权限被拒绝的问题,并且还需要执行以下操作:
setsebool -P httpd_can_network_connect_db=1
我对 cmets/answers 感兴趣,了解在 /usr/share/httpd 目录中包含 jar 文件的安全隐患。有更好的位置吗?我需要确保无法从外部访问这些 .jar 文件。我也在为一些 jar 库使用相同的目录。
【问题讨论】: