2009-04-22 71 views
14

對於任何人不知道這個問題誰不知道Quercus是 - 它是在Java中完成的PHP的實現。Quercus是Java環境中PHP的可行替代品嗎?

對於我目前正在使用的項目,我們通過cgi通過servlet來提供php頁面(我知道它很笨重,但它是支持遺留代碼的要求)。我很高興能夠發現Quercus項目,因爲它看起來像是一個將我們的項目轉移到更純粹的Java環境的有前途的途徑。

我有一個關於櫟幾個問題:

  • 你有沒有在運送產品使用櫟?
  • 支持多少PHP API?
  • 你曾經使用過哪些陷阱?
  • 您是否能夠使用Jetty工作?你有沒有聽說過它與Jetty合作? (我不明白)

回答

7

我用WordPress測試過它,性能幾乎是普通Apache/PHP下的默認WordPress安裝的兩倍。這仍然不是那麼好。

我們確實注意到雖然Quercus支持PHP中的curl命令,但它不支持所有curl選項。所以自動插件下載不起作用。這不是什麼大不了的事情,你可以隨時下載插件並手動安裝。但是這是一個紅旗,因爲我們不知道還有什麼可行的。這也意味着Facebook的PHP庫無法正常工作(很有可能)。

如果你做了很多的數據庫連接和調用,你應該看到在這方面有很大的性能提升,因爲將使用數據庫連接池。

如果你正在編寫代碼,我會說這是一個非常可行的選擇。支持足夠的PHP,如果發現某些不起作用的東西,可以使用支持的其他PHP命令,或者只使用Java命令。在開發者如何管理使用Quercus to run PHP on the Google App Engine

注意

0

那麼,如果你檢查在櫟頁面底部的版權,你會發現它的更新直到'06,所以我不保證任何PHP 5.x支持。

但是,爲什麼你會想要這樣的雙重開銷?你也可以從php運行java :)

+0

顯然這裏有一個php5版本:http://quercus.caucho.com/ – 2009-04-22 15:21:06

4

我做了一點評估Quercus的工作,它看起來很有希望,但沒有用到我正在開發的項目,因爲它是基於Symfony的,Symfony的反射本質不是由Quercus處理。

我曾嘗試獲得一些開源PHP項目,並發現它有一個相當完整的基於PHP5的API。

你應該可以得到它與J​​etty的工作。我能夠使它與Tomcat一起工作。

您可以真正將其視爲Java應用程序中JSP的替代品。它的工作方式與JSP的工作方式相似,因爲您可以將PHP編譯爲Java代碼,就像編譯JSP到Java代碼一樣。

我相信使用Jetty的最大缺點是無法預編譯PHP代碼。

即使您沒有將PHP與Java混合,也有不少好處。如果你將兩者混合在一起,那麼你就有更多的優勢。

3

見鏈接:PHP沒有正式在GAE支持,但與櫟你就可以執行此操作。

2

只有在專業版本的quercus中,PHP的性能纔會很好。因爲專業版將PHP代碼編譯爲java字節碼。所以它會更快。

但開源版依然採用了PHP解釋器在http://en.wikipedia.org/wiki/Resin_Server

說,它似乎不會有性能開放soruce版提高了。