PHPの処理系について調べてみたところ、想像以上にたくさんあることがわかりました。マイナーなPHP処理系に興味を持った人のために、一覧形式で紹介します。また、他の処理系をご存じの方のタレコミをお待ちしております。
公式処理系
PHP
実装言語はC。Windowsを含む全てのプラットフォームに対応しており、実行可能バイナリの形でビルドできる(CLI・CGI・ビルトインサーバ)。また、ApacheモジュールやFastCGIを受け付けるデーモン(PHP-FPM)などの形でも動作する。
その他の処理系(PHPコードがそのまま動くもの)
HHVM
Facebook製のPHP実行環境。実装言語はC++。JITコンパイルによる高速化が特徴。現時点ではx64 Linux環境がメインターゲットで、MacではJITコンパイラが動かない模様。FastCGIを受け付けるWebアプリケーションサーバとして動作する。また、コマンドラインからPHPプログラムを実行することもできる。
Quercus
JVM上で動作するPHP実行環境。もちろんJavaで書かれている。開発元はresinで有名なCaucho Technology社で、長期間メンテナンスされている。互換性も一定以上のようで、商用環境でも採用事例がある模様。
Phalanger
.NET環境で動くPHPコンパイラ+ランタイム。C#で書かれており、PHPソースコードから.NETアセンブリを出力する。本家PHPより高速に動作するだけでなく、PHPをVisualStudioで開発したり.NETの資産を利用したりする狙いもあるようで、かなり夢が広がる。開発者がDEVSENSE社を起業して有償サポートを提供しているが、このところ開発が停滞しているように見える。
KPHP
HHVMより高速に動作するというPHPからC++へのコンバータ。C/C++で書かれている。開発元はロシア最大のSNSを運営するВКонтакте社。情報が少なすぎるのが難点か。
HippyVM
実装言語はPython。PyPyを利用してJITコンパイルを行う。コードによってはHHVMより高速に動作する。現時点ではx64 Linux上でしか動作せず、PHP本家との互換性も低い。開発元のBaroque Software社はPyPy開発者を含む少数精鋭の会社のようで、このプロジェクトに力を割く気はあまり無さそうに見える。
JPHP
Javaで書かれたPHP実行環境。PHPソースコードを実行時にJavaバイトコードにコンパイルする。PHP本家との互換性はそこまで高くないが、他の処理系と比べても高速なのが特徴である。ロシア人の開発者一人で開発しているようで、プロジェクトとしては先行きが怪しいと言わざるを得ないだろう。
ePHP
Erlangで書かれたPHP処理系。パッと見で互換性も低そうだけど、Erlangというだけでロマンがあって良い。誰か試した人がいたら感想をください。
その他の処理系(PHPコードの修正が必要なもの)
Hack
FaceBookが開発したPHPによく似た言語で、HHVM上で動作する。基本はPHPなのだが、厳密な型やジェネリクスが導入されたりしている。型を厳密に指定すればするほどJITコンパイルで性能が稼げるということなのだろう。元のPHPソースコードがマトモなら移植は簡単そう。
Zephir
PHPに似ているようでそれほど似ていない言語。Zephirで書いたソースコードを元に、PHPエクステンションのソースコード(C言語)を出力する。重い処理をZephirで書いてエクステンションを組み込めばPHPから呼び出せる。既存PHPソースコードからの移植はやや面倒そうな印象。
PHP QB
PHPの一部の関数をネイティブコードとして実行するようなPHPエクステンション。関数のアノテーション部に引数や返り値の型を書き、PHPのサブセットのような言語で記述することで、その関数がネイティブコードとして実行される。そもそも重い画像処理を高速化するような意図のようで、汎用性は低そう。
Recki-CT
PHP製のPHPコンパイラ。PHPソースコードをPHP-Parserで構文解析し、PHPのlibjit実装であるJit-Fuを内部的に呼び出し、元のPHP関数に対応するJit-Fu関数を動的に構築する。呼び出す関数のソースコードはそのまま利用できるが、呼び出し元のソースコードを書き換えるような使い方になる。
既に停止しているプロジェクト
HipHop
Facebook製のPHPソースコードコンバータ。PHPソースコードをC++コードにコンバートする。HHVMにリプレースされた。
phc
C++で書かれたPHPコンパイラ。実行バイナリおよびPHPエクステンションのCソースコードを出力できる。最終リリースは2011年の0.3.0.1。
ASTを作るのにmaketeaを利用している。実行バイナリは自前では作れないと思うが、どうやってるのかは調査中。
"Classic" Roadsend PHP
実装言語はCとScheme。INRIAで開発されたScheme処理系Biglooを使って実行バイナリを出力する。商用に利用したりphpBBが動いたりしていたらしいので、一定の完成度だと思われる。
Roadsend PHP Raven
Roadsend PHPの作者がLLVMベースのPHPインタプリタ・JITコンパイラを実装しようとしたもの。実装言語はC++。HipHopのリリースを見て開発を中止した模様。
PHP-to-Scala Migration Helper
PHPからScalaへのコンバータ。開発は2010年で止まっている模様。
PHPPHP
PHPで書かれたPHP処理系。PHP-Parserで構文解析してインタプリタ実行する。速度も互換性も実用レベルではないが、実装としては興味深い。
Pipp
Parrot上のPHP実装。2009年で開発が止まっている。
P8
IBMのWeb開発環境・実行環境であるWebSphere sMashが内蔵していた独自実装のPHP実行環境。Java製。sMashの無償コミュニティ版であるProject Zeroがドメインごと死んでおり状況不明。そもそも単体で取り出せたのかどうかも不明。