#Zephir
http://blog.phalconphp.com/post/57161129440/phalcon-2-0-the-future
Phalconの2系からは、開発言語にZephir言語を使用しているそうで、
PHP+C言語なイメージらしいです。
公式ドキュメント
http://zephir-lang.com/
導入方法
http://www.michaelgallego.fr/blog/2013/08/28/a-quick-introduction-to-zephir-language/
ソース
https://github.com/phalcon/zephir
必須モジュールインスト
sudo yum -y install git-core
sudo yum -y install gcc libtool
clangインスト
cd /usr/local/src/
sudo wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6-8.noarch.rpm
sudo yum install -y clang
json-cインスト
cd /usr/local/src/
sudo git clone https://github.com/json-c/json-c.git
cd json-c
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo make check
re2cインスト
http://labs.web-mix.jp/linux/centos/centos_add_rpmforge/
cd /usr/local/src/
sudo wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
sudo rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
---
# sudo vi /etc/yum.repos.d/rpmforge.repo
enabled = 0
---
sudo yum --enablerepo=rpmforge install -y re2c
zephirインスト
cd /usr/local/src/
sudo git clone https://github.com/phalcon/zephir.git
cd zephir/
sudo ./install
PHPアップデート
(※5.4系じゃないとコンパイル時にエラーになるので)
sudo yum -y install php php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml
# yumだと5.3までしかないので、それ以上に上げたい場合
//リポジトリの追加
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
//php5.4にアップデートされることを確認。
sudo yum --enablerepo=epel,remi,rpmforge info php
//アップデート実行
sudo yum --enablerepo=epel,remi,rpmforge update -y php php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml
####Zephirコードのコンパイル
1.ZephirコードをCに変換
2.CコードをPHPエクステンションにコンパイル
以下を実行すると、/extフォルダに変換されたC言語コードが生成されます。
sudo ./bin/zephir compile
以下を実行すると、PHPエクステンションが生成されます。
cd /ext
sudo phpize
sudo ./configure
sudo make
sudo make install
生成されたsoファイルをphp.iniでロードするようにすればOK。