我使用PHP 5.5与Apache 2.4和Java 8.现在我想在Java JAR文件中调用该函数。我在互联网上搜索PHP Java桥。我找到了SourceForge的JavaBridge.Jar
文件,但我不知道如何使其工作。那么我该如何使用PHP Java Bridge呢?我发现谷歌说它可能会使用PHP exec()
来执行Java函数,但是,这种方法似乎每次都需要打开JVM。所以我想知道它是否有更好的方法来调用JAR中的函数。
答案 0 :(得分:1)
如果要执行java函数,必须让jvm在某个时刻运行 - 你运行jvm 很多次是正确的。
PHP的exec调用只是运行一个外部程序(驻留在服务器上)。如果您编写完整的Java应用程序,您的程序可以调用您想要的任何函数。当然,这将导致jvm必须为程序的每个实例启动(有人可以纠正我,如果有汇集,但我怀疑没有)。
更好的解决方案是找出一种方法来保持单个Java程序无限期运行,并在PHP代码和java程序的一个实例(执行函数调用)之间进行通信。一个非常直接的方法是使用连接到另一个Socket (PHP)的Socket (Java "ServerSocket")。构建一个java应用程序作为“服务器”,接受来自PHP“客户端”的请求。
谷歌过去一直非常乐于帮助我开始使用java /等进行网络通信。
您提到的库看起来像是为您做了类似的事情,但看起来您需要有一些可用于连接的Java应用程序 - 而不仅仅是一个原始jar。