<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: PHP Running on Java</title>
	<atom:link href="http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/</link>
	<description>The weblog of Joshua Eichorn, AJAX, PHP and Open Source</description>
	<pubDate>Fri, 05 Sep 2008 21:59:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1-alpha</generator>
		<item>
		<title>By: Joshua Eichorn</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-257670</link>
		<dc:creator>Joshua Eichorn</dc:creator>
		<pubDate>Mon, 10 Sep 2007 21:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-257670</guid>
		<description>Ivar: well the biggest benefit is it makes it easy to access Java Classes in your php code.  So you can use Java as a backend language and PHP as a frontend.  If you have a large java app server cluster it can also make deployment easier.

I mainly care about it though because it makes it really easy to write a custom PHP extension its just a Java Class, so you can play around with multi-threaded PHP etc.</description>
		<content:encoded><![CDATA[<p>Ivar: well the biggest benefit is it makes it easy to access Java Classes in your php code.  So you can use Java as a backend language and PHP as a frontend.  If you have a large java app server cluster it can also make deployment easier.</p>
<p>I mainly care about it though because it makes it really easy to write a custom PHP extension its just a Java Class, so you can play around with multi-threaded PHP etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivar</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-257658</link>
		<dc:creator>Ivar</dc:creator>
		<pubDate>Mon, 10 Sep 2007 21:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-257658</guid>
		<description>Interresting, PHP on Java...

Seems to defeat the purpose though, as Java's strength is it's protective type and syntax checking. It's weakness the speed of execution due to all the checks. PHP's strenght is its lack of type checking that results in excellent run-time speed and ease of coding. Weakness is no type checking and promotes terrible programming practices. Seems like PHP and Java are polar opposites. Combining them as in PHP interpreter running on top of Java just slows things down while providing little gains (platform independence to a certain degree?).... Is there something I'm missing?</description>
		<content:encoded><![CDATA[<p>Interresting, PHP on Java&#8230;</p>
<p>Seems to defeat the purpose though, as Java&#8217;s strength is it&#8217;s protective type and syntax checking. It&#8217;s weakness the speed of execution due to all the checks. PHP&#8217;s strenght is its lack of type checking that results in excellent run-time speed and ease of coding. Weakness is no type checking and promotes terrible programming practices. Seems like PHP and Java are polar opposites. Combining them as in PHP interpreter running on top of Java just slows things down while providing little gains (platform independence to a certain degree?)&#8230;. Is there something I&#8217;m missing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Eichorn</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166067</link>
		<dc:creator>Joshua Eichorn</dc:creator>
		<pubDate>Wed, 14 Mar 2007 16:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166067</guid>
		<description>Daniel: I've only done some basic trying out of things.  I'm actually more interested in using Quercus outside of Resin, i've been looking for a language to embed PHP in to do a bit of experimenting, but I haven't wanted to write a new SAPI in C.  I also have a couple PHP/Java integration projects (if they are approved) coming up so I might end up using Quercus quite a bit, assuming of course that I can get Quercus running on JBoss.

Extensions in Java instead of C are an interesting tradeoff.  It means you have to reimplement everything you want to support, but it also means you don't have to worry about thread safety, mismatched memory models etc.  I guess in theory you could use JNI stuff to talk to the C directly but for the majority of extensions it will be quicker to just port the code.</description>
		<content:encoded><![CDATA[<p>Daniel: I&#8217;ve only done some basic trying out of things.  I&#8217;m actually more interested in using Quercus outside of Resin, i&#8217;ve been looking for a language to embed PHP in to do a bit of experimenting, but I haven&#8217;t wanted to write a new SAPI in C.  I also have a couple PHP/Java integration projects (if they are approved) coming up so I might end up using Quercus quite a bit, assuming of course that I can get Quercus running on JBoss.</p>
<p>Extensions in Java instead of C are an interesting tradeoff.  It means you have to reimplement everything you want to support, but it also means you don&#8217;t have to worry about thread safety, mismatched memory models etc.  I guess in theory you could use JNI stuff to talk to the C directly but for the majority of extensions it will be quicker to just port the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Eichorn</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166060</link>
		<dc:creator>Joshua Eichorn</dc:creator>
		<pubDate>Wed, 14 Mar 2007 16:18:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166060</guid>
		<description>William: I'm not sure what the deal with that is, the code is all GPL so unless the professional version contains an extra module it should be easy enough to patch the compiling one.</description>
		<content:encoded><![CDATA[<p>William: I&#8217;m not sure what the deal with that is, the code is all GPL so unless the professional version contains an extra module it should be easy enough to patch the compiling one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PHPDeveloper.org</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166012</link>
		<dc:creator>PHPDeveloper.org</dc:creator>
		<pubDate>Wed, 14 Mar 2007 13:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-166012</guid>
		<description>&lt;strong&gt;Joshua Eichorn's Blog: PHP Running on Java...&lt;/strong&gt;

...</description>
		<content:encoded><![CDATA[<p><strong>Joshua Eichorn&#8217;s Blog: PHP Running on Java&#8230;</strong></p>
<p>&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Notowidagdo</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165844</link>
		<dc:creator>William Notowidagdo</dc:creator>
		<pubDate>Wed, 14 Mar 2007 02:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165844</guid>
		<description>Too bad only on Resin Professional edition we can compile PHP scripts into Java classes.</description>
		<content:encoded><![CDATA[<p>Too bad only on Resin Professional edition we can compile PHP scripts into Java classes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pcdinh</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165828</link>
		<dc:creator>pcdinh</dc:creator>
		<pubDate>Wed, 14 Mar 2007 01:37:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165828</guid>
		<description>It may be of interest: http://weblogs.java.net/blog/ludo/archive/2007/03/100_java_quercu.html

and http://weblogs.java.net/blog/robogeek/archive/2007/03/re_100_java_que.html (Java Quercus PHP engine running in GlassFish Java EE 5 Application Server..)

There is an seamleass integration between PHP, popular and state-of-art Glassfish application server and other Java technology. So cool.</description>
		<content:encoded><![CDATA[<p>It may be of interest: <a href="http://weblogs.java.net/blog/ludo/archive/2007/03/100_java_quercu.html" rel="nofollow">http://weblogs.java.net/blog/ludo/archive/2007/03/100_java_quercu.html</a></p>
<p>and <a href="http://weblogs.java.net/blog/robogeek/archive/2007/03/re_100_java_que.html" rel="nofollow">http://weblogs.java.net/blog/robogeek/archive/2007/03/re_100_java_que.html</a> (Java Quercus PHP engine running in GlassFish Java EE 5 Application Server..)</p>
<p>There is an seamleass integration between PHP, popular and state-of-art Glassfish application server and other Java technology. So cool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Krook</title>
		<link>http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165743</link>
		<dc:creator>Daniel Krook</dc:creator>
		<pubDate>Tue, 13 Mar 2007 22:34:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joshuaeichorn.com/archives/2007/03/13/php-running-on-java/#comment-165743</guid>
		<description>I attended Scott Furguson's talk at the NY Java SIG last March when he gave a presentation titled "Implementing PHP in Java (Quercus) with the Resin App Server." (http://www.javasig.com/Archive/lectures/JavaSIG-Caucho.ppt)

Sam Heisz also presented "Quercus - A 100% Clean Room Implementation of PHP in Java" at NYPHPCon last June. (http://www.nyphpcon.com/speakers.php#6a24e332630a24a5056b78e9d94811ea)

It seemed like an interesting idea at first, but after Scott's presentation (I didn't attend Sam's) I was left with doubts about whether it was a good idea.  The database connection pooling and session clustering ideas are interesting, but the tradeoff is that you now rely on PHP extensions rewritten and maintained in Java independently of their original C development trunks.

As far as running PHP in other JEE app servers... BEA made some noise about their implementation (http://www.infoworld.com/article/06/05/16/78335_HNbeasybasejavaone_1.html) and I had written up some notes about how to make WebSphere and PHP play nice [which includes a few more of my thoughts on Quercus] (http://krook.net/archives/160).

I may take another look at it though, since it seems to be quite actively developed.    Did you get a chance to try it out?</description>
		<content:encoded><![CDATA[<p>I attended Scott Furguson&#8217;s talk at the NY Java SIG last March when he gave a presentation titled &#8220;Implementing PHP in Java (Quercus) with the Resin App Server.&#8221; (http://www.javasig.com/Archive/lectures/JavaSIG-Caucho.ppt)</p>
<p>Sam Heisz also presented &#8220;Quercus - A 100% Clean Room Implementation of PHP in Java&#8221; at NYPHPCon last June. (http://www.nyphpcon.com/speakers.php#6a24e332630a24a5056b78e9d94811ea)</p>
<p>It seemed like an interesting idea at first, but after Scott&#8217;s presentation (I didn&#8217;t attend Sam&#8217;s) I was left with doubts about whether it was a good idea.  The database connection pooling and session clustering ideas are interesting, but the tradeoff is that you now rely on PHP extensions rewritten and maintained in Java independently of their original C development trunks.</p>
<p>As far as running PHP in other JEE app servers&#8230; BEA made some noise about their implementation (http://www.infoworld.com/article/06/05/16/78335_HNbeasybasejavaone_1.html) and I had written up some notes about how to make WebSphere and PHP play nice [which includes a few more of my thoughts on Quercus] (http://krook.net/archives/160).</p>
<p>I may take another look at it though, since it seems to be quite actively developed.    Did you get a chance to try it out?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
