我正在构建一个PHP前端和Java作为后端的Web应用程序,以从定制的Lucene索引检索信息。在PHP中,我使用exec()来运行从Java lucene索引检索结果的JAR(只打印文档的metdata结果,而且我们正在处理大约300多行String或结果)。我认为结果越多,PHP搜索的速度就越慢。花费大约4-5秒来检索300行结果,但在Java中(使用Eclipse IDE),只需0.3秒或更少的时间就可以使用相同的方法检索相同的结果。我试图直接从命令行运行JAR并且搜索速度在中间Java System.out.println在使用exec()从PHP调用时需要很多时间
所以我把定时器放在Java中来调试问题,发现似乎放慢的是使用System.out.println ()。在不打印搜索结果的情况下,PHP中的搜索速度与Java IDE中的搜索速度一样快。
有没有一种很好的方法来从PHP获取Java方法的输出而不影响速度?我希望我的搜索引擎能够扩展并处理更多结果。顺便说一句,我正在开发Windows 7上。
我想检查[PHP/Java Bridge](http://php-java-bridge.sourceforge.net/pjb/)。为每个PHP请求拉起虚拟机可以非常广泛(在时间和资源方面)。 –
该项目的最后更新是2013年,似乎不是那么好的建议。也有少数人下载,似乎没有基准,等等。 – jotadepicas
@AdrianoRepetti。我已经尝试过“调用Java桌面应用程序方法”。来自PHP/Java Bridge。它不会将对象或输出返回给PHP。 –