使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

2024-05-14

是否可以建立从 Java 到 php 文件的桥梁?

我有一个用 Java 编写的应用程序,我需要执行http://piwik.org/ http://piwik.org/这是用 PHP 编写的。在服务器中,我正在运行 PHP,但无法从浏览器访问 php 目录,因为所有传入流量都由 apache 重定向到 glassfish 应用程序服务器。

所以我的想法是使用 Java servlet 来执行 php 文件:

Runtime.getRuntime().exec("php /path/to/file/file.php");

然后将 PHP 输出写入 java servlet 响应。

实现这一目标的唯一问题是:

如何执行像浏览器一样的 PHP cli?

我需要向 PHP 传递哪些参数才能允许 PHP 读取或写入 cookie 和 session?


如果您无论如何都使用 Apache 来代理流量,我只需排除所有到 Piwik 的流量并直接从文件系统提供这些流量/mod_php / php-fpm/ 无论你通常使用什么。

你也可以使用php-cgi并传递适当的环境变量,但这使很多事情变得复杂,就像您还必须将响应代理回浏览器一样。 Apache 已经支持这一点,所以不要在应用程序中实现另一个代理,直接在 Apache 中实现。

您可以排除某个目录被代理:

ProxyPass /piwik ! 
ProxyPass / 127.0.0.1:8080 
ProxyPassReverse / 127.0.0.1:8080
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作 的相关文章

随机推荐