Quercus是Java环境中PHP的可行替代品吗?

时间:2009-04-22 14:01:37

标签: java php quercus

对于那些不知道Quercus是什么的人来说,这个问题的绊脚石 - 它是用Java完成的PHP实现。

对于我目前正在处理的项目,我们通过cgi通过servlet提供php页面(我知道它很笨重,但它是支持遗留代码的要求)。我很高兴发现了Quercus项目,因为它似乎是将我们的项目转移到更纯粹的Java环境的有希望的途径。

我有几个关于栎属的问题:

  • 您是否在运输产品中使用了Quercus?
  • 支持多少php API?
  • 你使用它有什么问题?
  • 你有没有能够使它与Jetty一起工作?你有没有听说过与Jetty合作? (我无法弄清楚)

5 个答案:

答案 0 :(得分:7)

我用WordPress进行了测试,性能几乎是普通Apache / PHP下默认WordPress安装的两倍。哪个还不是那么好。

我们注意到虽然Quercus支持PHP中的curl命令,但它不支持所有curl选项。所以自动插件下载不起作用。这不是什么大不了的事,你可以随时下载插件并手动安装它们。但这是一个红旗,因为我们不知道还有什么可行。这也意味着Facebook的PHP库无法正常工作(最有可能)。

如果您进行了大量的数据库连接和调用,那么您应该会看到该区域的性能大幅提升,因为将使用数据库连接池。

如果您正在编写代码,我会说这是一个非常可行的选择。支持足够的PHP,如果您发现不起作用的东西,您可以使用支持的其他PHP命令,或者只使用Java命令。

答案 1 :(得分:4)

我做了一些评估Quercus的工作,它看起来很有前景,但是没有与我正在进行的项目合作,因为它是基于Symfony而且Syscfony的反射性质没有得到Quercus的良好处理。

我确实尝试过使用它的许多开源PHP项目,并发现它有一个相当完整的基于PHP5的API。

你应该能够使用Jetty。我能够让它与Tomcat合作。

您可以将其视为Java应用程序中JSP的替代品。它的工作方式与将PHP编译为Java代码的工作原理类似,就像将JSP编译为Java代码一样。

我认为使用Jetty的最大缺点是无法预编译PHP代码。

但是,即使您没有将PHP与Java混合,也有很多优点。如果你把两者混合在一起,你会有更多的优势。

答案 2 :(得分:3)

请参阅有关开发者如何设法使用Quercus to run PHP on the Google App Engine

的链接

注意:GAE并未正式支持PHP,但使用Quercus,您可以立即运行。

答案 3 :(得分:2)

PHP性能仅在专业版的栎中才有效。因为专业版将PHP代码编译为java字节码。所以它会更快。

但是开源版仍然使用http://en.wikipedia.org/wiki/Resin_Server

中所述的PHP解释器

在开放式版本中似乎没有性能提升。

答案 4 :(得分:0)

好吧,如果您检查Quercus页面底部的版权,您会看到它在06年之前更新,所以我不保证任何PHP 5.x支持。

但是为什么你甚至想要拥有这样的双重开销呢?你也可以从php运行java:)