Quercus compilation available for Tomcat in 4.0.1
For version 4.0.1, we have added Quercus compilation support for other application servers including Tomcat, where before the interpreted mode was only available. The compiled mode is significantly faster than the interpreted mode (though the interpreted is still quite speedy compared to PHP on Apache). Quercus compilation will also work on Google App Engine, but there’s a requisite that files be pre-compiled.
People have been asking for Quercus compilation outside of Resin for a while now. Simply put, many of them like Quercus but they just cannot use Resin. The story is usually the same: they are locked into a particular application server and they have no say over which application server they use.
Don’t get me wrong, our main product and breadwinner is still Resin. But Quercus has the potential to appeal to a much wider audience, most of whom are unfamiliar with Caucho and Resin.
Quercus introduces people to Caucho and to our company philosophy. They’ll naturally be familiarized with our design goals, release schedule, and how we handle bugs and support. We are a small no-nonsense engineering workshop and hopefully people who have not known Caucho will recognize that in Caucho.
Tags: compilation, google app engine, php, quercus, tomcat

August 5th, 2009 at 12:38 pm
I would love to try this out, but how does one get Quercus 4.0.1. Is this available in the trunk of the svn repository for quercus or does it need to be used from Resin 4.0.1? Thanks!
August 14th, 2009 at 4:37 pm
Any thoughts of supporting GlassFish? We’d be happy to offer help.
John Clingan
GlassFish Group Product Manager.
August 17th, 2009 at 6:20 pm
We certainly want to support Glassfish. Quercus ran on Glassfish before; I’m not sure if the latest version will still run on the latest version of Glassfish. I’ve filed a bug report just in case at:
http://bugs.caucho.com/view.php?id=3640
FYI, the current 4.0.1 quercus war download at http://quercus.caucho.com is fubar’ed (missing classes). We’ll have a new one up as soon as possible.
August 19th, 2009 at 5:03 am
So, is Quercus compilation in Resin Open Source at this point then?
August 21st, 2009 at 9:02 am
floatingworld, Quercus compilation will soon be available in Quercus Professional, a separate product line from Resin which is not open source.
August 22nd, 2009 at 5:56 am
Hi
How do I report bugs for Quercus 4.0.1?
I got an array out of index exception with my PHP code which attempted to play with multibyte/utf8 encoding.
[09-08-22 19:50:37.420] {http–8080-9} java.lang.ArrayIndexOutOfBoundsException: 23067
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.env.StringBuilderValue.create(StringBuilderValue.java:245)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.env.Env.createString(Env.java:3939)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.lib.HtmlModule.htmlentities(HtmlModule.java:329)
[09-08-22 19:50:37.420] {http–8080-9} at _quercus._sample._importer__php.execute(_importer__php.java:203)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.env.Env.executePageTop(Env.java:3458)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.env.Env.executeTop(Env.java:3404)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:181)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:578)
[09-08-22 19:50:37.420] {http–8080-9} at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:114)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:184)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:264)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:280)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.port.TcpConnection.handleRequests(TcpConnection.java:579)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1357)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1298)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:874)
[09-08-22 19:50:37.420] {http–8080-9} at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:787)
August 25th, 2009 at 9:42 am
Hi kenfoo,
You can file bugs at http://bugs.caucho.com/ If you can include the stack trace and a short script that exhibits the problem, that would help a lot.
Thanks,
Emil
August 25th, 2009 at 9:39 pm
Thanks. I actually posted the 3 bugs in the forum here:
http://forum.caucho.com/showthread.php?t=127