PHP获取数据或与正在运行的Java进程交互。(我认为与PHP/Java桥不同)

PHP获取数据或与正在运行的Java进程交互。(我认为与PHP/Java桥不同),java,php,bind,Java,Php,Bind,我有一个安装了php的apache2 Web服务器,可以正常工作。我想知道是否有任何方法可以让PHP脚本访问持续运行的Java程序,主要是为了获取进程跟踪的信息。Java程序不是webapp或在apache服务器中运行。这是一个单独的计划 我一直在研究PHP/Java桥接系统,它们似乎只是让您从PHP运行Java程序,反之亦然,这不是我需要的。我可以想办法通过在本地主机上运行的web服务和SOAP来实现这一点,但如果有办法避免这种情况,并且我可以直接访问Java程序,我可以让我的webapp运行

我有一个安装了php的apache2 Web服务器,可以正常工作。我想知道是否有任何方法可以让PHP脚本访问持续运行的Java程序,主要是为了获取进程跟踪的信息。Java程序不是webapp或在apache服务器中运行。这是一个单独的计划

我一直在研究PHP/Java桥接系统,它们似乎只是让您从PHP运行Java程序,反之亦然,这不是我需要的。我可以想办法通过在本地主机上运行的web服务和SOAP来实现这一点,但如果有办法避免这种情况,并且我可以直接访问Java程序,我可以让我的webapp运行得更快

我正在尝试“对话”的Java应用程序是我编写的一个程序,因此如果需要设置Java程序中的某些内容,我可以访问源代码进行必要的更改


提前感谢,我一直在到处寻找类似的东西。

嘿,所以基本上您需要从php运行java应用程序并从java应用程序获得响应


如果是这样的话,我看不出php/java桥有任何问题。例如,我已经成功地在php中运行java encryption method For custom encryption。

您需要以某种方式与java进程通信。由于web服务过于繁重,您可以使用自定义文本或二进制协议通过套接字进行通信

或者,您也可以让Java程序每n秒写入一个数据库,并在PHP脚本中从数据库中读取数据

编辑:

查看PHP中的套接字客户端示例


查看Java中的服务器套接字示例。

PHP/Java桥允许您从PHP调用正在运行的Java程序

阅读:

阅读:

网桥实际上使用本地套接字通信,来自:


你可以看看栎树/树脂。PHP在Java web服务器上的Java内部运行。您可以像调用PHP函数/命令一样调用Java代码。并非所有PHP命令都受支持,大多数都受支持。例如,您可以在Quercus下运行WordPress。

没有。OP说Java程序一直在运行,并跟踪一些信息。他甚至说他不想从PHP运行Java,也不想从PHP运行Java。不,我有一个Java程序一直在运行,我需要从一个PHP脚本访问它,该脚本将在加载页面时运行,以获取最新信息。哦,是的:)在这种情况下,我坚持你的建议。另一种方法是从java应用程序调用php服务或从java代码调用php脚本。我曾考虑过使用数据库作为备用方案,但我希望尽可能让它实时工作。我将研究套接字编程。为了澄清,可以使用套接字在同一台机器内进行通信,我只需要打开一个本地主机的套接字和两种语言中一致的端口号,他们应该能够使用该端口号彼此通信?服务器套接字必须在专用端口号上创建(选择2000到60000之间的端口,例如4444,并确保没有其他应用程序使用此端口)。客户端套接字连接到端口4444上的本地主机,并由操作系统绑定到随机可用端口。因此,您甚至可能在同一台机器上的同一服务器上有许多客户端。使用类似RabbitMQ的方法对您有效吗?
<?php
    include_once("Java.inc");

$i1 = new Java("your.class", "1");
$i2 = new Java("your.class", "2");
$i3 = $i1->add($i2);
echo $i3->toString() . "\n";
?>
static final php.java.bridge.JavaBridgeRunner runner = php.java.bridge.JavaBridgeRunner.getInstance("9267");