CentOS Server セットアップ備忘録 (8) - Tomcat 5.5 の webapp 内で php を使う

Tomcat 標準の CGIServlet でも出来るのかもなぁとは思いつつ、今回は PHP/Java Bridge を使用してみました。

PHP/Java Bridge は、PHP から Java のコードを呼び出したり、逆に Java から PHP を実行したりするためのライブラリで、今回は後者の機能の一部を利用します。

ちなみに Quercus のような Java による PHP 実装とは違って、あくまでブリッジ(実行環境間での処理の受け渡し役)なので、PHP 5 の実行環境自体がインストールされている必要があります。(あるいは PHP 実行環境を war 内に含めることも可能な模様。)

使い方:

JavaBridge.jar と php-servlet.jar を webapp の WEB-INF/lib にコピーし、WEB-INF/web.xml に以下を追記するだけです。

<servlet>
  <servlet-name>PhpCGIServlet</servlet-name>
  <servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>PhpCGIServlet</servlet-name>
  <url-pattern>*.php</url-pattern>
</servlet-mapping>

確認用に test.php を置いて、ブラウザから表示できれば OK です。

<?php phpinfo(); ?>