LoginSignup
16
15

More than 5 years have passed since last update.

PHP, Phalcon, Zephir

Last updated at Posted at 2013-11-25

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。

16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15