Zephir编译第一个php扩展

安装Zephir

1
2
3
4
5
git clone https://github.com/phalcon/zephir.git

cd zephir

./install -c # -c 全局安装

检测是否安装成功,若不成功安装php-zephir-parser

1
zephir help

安装 php-zephir-parser

若报错提示缺少这个,安装php-zephir-parser

1
2
3
4
5
sudo yum install php-devel gcc make re2c autoconf #安装依赖

git clone git://github.com/phalcon/php-zephir-parser.git
cd php-zephir-parser
sudo ./install

添加至php.ini,重启

1
2
3
4
[Zephir Parser]
extension=zephir_parser.so

service php-fpm restart #重启php

开发第一个php扩展

1
2
3
4
5
zephir init tools

cd tools

sudo vim tools/tools.zep

tools.zep

1
2
3
4
5
6
7
8
9
10
11
12
namespace Tools;

class Tools
{

public static function sui($data)
{
echo "<pre>";
print_r($data); die();
}

}

编译安装

1
zephir build

添加至php.ini,重启

1
2
3
4
[Zephir Parser]
extension=tools.so

service php-fpm restart #重启php

测试运行

1
2
3
$data = ['test'=>666,'test666'=>333];

\Tools\Tools::sui($data);
纵有疾风起,人生不言弃!