JavaのWebコンテナ上でPHPを動かす
最近、メッセージ指向ついていましたので、ちょっと違う話題を。
Javaの上でいろんな言語を実行することが結構はやっていますが(その筆頭がJRuby)、PHPってどうなのかな?と思ってちょっと探ってみました(PHPが言語として※●×☆じゃないのとかいう話はここではパス)。
そうすると、Quercusなるものを発見。Quercus(ってなんて発音するんだろう?)は、WebコンテナのResinのサブプロジェクトです。
で、最新のResinを落としてきて実行してみると、このQuercusはすでに統合されていて、xxx.phpなんてファイルをwebappsの下のどこかのディレクトリに置いておくと、QuercusのPHPエンジンによって処理されます。
この中から、Javaのクラスも利用できる模様。こんな感じにね。
<?php import java.util.Date; $a = new Date(123); echo $a->time; ?>
PHPとJavaを連携させるって考えてみて、SugarCRMの中からJasperReportを呼び出しているZuckerReportというプロジェクトを思い出したんですが、これって実はReportを作成するたびに外部のプロセス呼び出しでVMを立ち上げています。無駄だよなと思っていたのですが、これを使えれば、普通にJasperのクラスを呼び出せばいいだけ。なかなかいいかもしれません。
ということで、取り合えずSugarCRMをQuercus上で動かそうとしましたが、インストーラでこけました。エラーをはいて止まっているのではなく、なぜか同じ画面遷移を行ったり来たり。どこかにログが出てればいいのですが、見つけられてません。
うーん、まだ道は遠そう。