zephir开发环境如何搭建?换个方式写php扩展
发布于 作者:苏南大叔 来源:程序如此灵动~
本文中,要说一个php扩展开发的好方案zephir。php扩展就是:把相关逻辑写到so/dll扩展文件里面去,比如鸟哥的yaf。zephir的本意并不是加密php,而是使用php类似语法写扩展。大家想到php的扩展,第一印象肯定是c语言,高大上的c语言,可不是普通人会写的。
zephir的口号是:会写php,就会写php扩展。有兴趣了嘛?跟着苏南大叔,了解一下zephir开发环境的基本搭建吧。

本文的安装环境截图是:mac环境下的安装界面。win下面理论上也可以操作,不过鉴于win下面的编译环境的太多不确定性,目前苏南大叔还不想在win环境下,测试zephir相关的东东。本文测试环境zephir0.10.10,zephir-parser1.1.2。
zephir基本介绍
zephir这个工具,把这个高大上的扩展编写的工作,给平民化了,会写php就会写so/dll扩展文件了。所以,苏南大叔认为:还是非常有必要学习zephir这个门槛低,逼格高的技能的。
不过文档还是E文的,E文不好的同学,就看本篇教程吧。



本篇文档的安装前提是如下软件包:gcc/make/re2c/php/php-json/php-dev/libpcre3-dev。当然,看着头晕也不用害怕,提示缺哪个就安装哪个嘛。苏南大叔这边提示:缺失re2c。其它的貌似都安装好了。
安装zephir
截至到发稿,zephir的最新版本是:0.10.10。zephir的安装极其的简单,下载好代码,执行一下安装命令就可以了。没有任何提示,就安装好了。当然,提示让苏南大叔输入sudo的密码了。

./install -c安装好之后,大家可以用下面的这条命令。看看效果。
which zephir
zephir help
这个步骤就是安装了一个命令行,后序还需要安装一个zephir-parser的扩展,才能开始做扩展开发的。当然,官方文档似乎没有提及这件事。试图编译的时候,就会收到相关错误提示了。如下图所示:

安装zephir-parser
zephir-parser是个php的扩展,所以,画风上和zephir是有些不一样的。主要用在zephir的项目编译过程中。github上有提供各个编译好的so或者dll,但是苏南大叔就是毕竟喜欢从源码编译啊,所以下载的是源码版。
截至到发稿,这个zephir-parser的最新版本是1.1.2。安装的脚本也是异常的简单,输入个sudo密码,也自动执行那一系列的扩展编译安装命令了,超人性化。


cd php-zephir-parser
sudo ./install

当然,这个安装的期间,提示苏南大叔需要先安装re2c。所以,就使用brew主动安装了re2c。编译完成后,得到的so文件名是:zephir_parser.so。但是这个扩展名,却是Zephir Parser。所以,使用-m|grep zephir查看效果的时候,可能会有点小插曲。
修改php.ini,然后重启php就可以使用了。


结论
在本文中,苏南大叔在mac开发机上搭建了zephir的基本环境。下一篇文章中,苏南大叔就编译一个zephir版本的hello world,敬请期待。
更多zephir的经验文章,请点击下面的这个链接。