用PHP调用Java类的方式不会有JVM负载开销


Calling Java class with PHP in a way that doesn't have JVM load overhead?

我使用iText java lib与php脚本填写pdf等…

它在我的电脑上运行得很好,但是当它在服务器上运行时,它就开始出问题了。例如,pdf的加载时间是完全不可预测的。有时几乎是瞬间的,就像在我的机器上,有时需要20秒。

我怀疑这与JVM在每个请求上不断加载有关。有没有可能针对这种情况进行优化?

我调用它的方式很简单:

exec('java -classpath ".;itextpdf-5.1.1.jar" StreamPdf blah.pdf blah.fdf target.pdf');

最好的选择…看看是否有一个接口或包装器可以用于应用服务器,如apache tomcat或其他。

看起来已经有一个教程了http://www.geek-tutorials.com/java/itext/servlet_jsp_output_pdf.php

这将允许你保持应用程序的一个实例持续运行,避免每次重新实例化jar的开销。

你需要在php中通过curl等方式向正在运行的实例发出http请求…

相关文章: