我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文中,要说一个php扩展开发的好方案zephirphp扩展就是:把相关逻辑写到so/dll扩展文件里面去,比如鸟哥的yafzephir的本意并不是加密php,而是使用php类似语法写扩展。大家想到php的扩展,第一印象肯定是c语言,高大上的c语言,可不是普通人会写的。

zephir的口号是:会写php,就会写php扩展。有兴趣了嘛?跟着苏南大叔,了解一下zephir开发环境的基本搭建吧。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - zephir
zephir开发环境如何搭建?换个方式写php扩展(图13-1)

本文的安装环境截图是:mac环境下的安装界面。win下面理论上也可以操作,不过鉴于win下面的编译环境的太多不确定性,目前苏南大叔还不想在win环境下,测试zephir相关的东东。本文测试环境zephir0.10.10,zephir-parser1.1.2

zephir基本介绍

zephir这个工具,把这个高大上的扩展编写的工作,给平民化了,会写php就会写so/dll扩展文件了。所以,苏南大叔认为:还是非常有必要学习zephir这个门槛低,逼格高的技能的。

不过文档还是E文的,E文不好的同学,就看本篇教程吧。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 000
zephir开发环境如何搭建?换个方式写php扩展(图13-2)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 001
zephir开发环境如何搭建?换个方式写php扩展(图13-3)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 002
zephir开发环境如何搭建?换个方式写php扩展(图13-4)

本篇文档的安装前提是如下软件包:gcc/make/re2c/php/php-json/php-dev/libpcre3-dev。当然,看着头晕也不用害怕,提示缺哪个就安装哪个嘛。苏南大叔这边提示:缺失re2c。其它的貌似都安装好了。

安装zephir

截至到发稿,zephir的最新版本是:0.10.10zephir的安装极其的简单,下载好代码,执行一下安装命令就可以了。没有任何提示,就安装好了。当然,提示让苏南大叔输入sudo的密码了。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 003
zephir开发环境如何搭建?换个方式写php扩展(图13-5)

./install -c

安装好之后,大家可以用下面的这条命令。看看效果。

which zephir
zephir help

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 004
zephir开发环境如何搭建?换个方式写php扩展(图13-6)

这个步骤就是安装了一个命令行,后序还需要安装一个zephir-parser的扩展,才能开始做扩展开发的。当然,官方文档似乎没有提及这件事。试图编译的时候,就会收到相关错误提示了。如下图所示:

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - need_extension
zephir开发环境如何搭建?换个方式写php扩展(图13-7)

安装zephir-parser

zephir-parser是个php的扩展,所以,画风上和zephir是有些不一样的。主要用在zephir的项目编译过程中。github上有提供各个编译好的so或者dll,但是苏南大叔就是毕竟喜欢从源码编译啊,所以下载的是源码版。

截至到发稿,这个zephir-parser的最新版本是1.1.2。安装的脚本也是异常的简单,输入个sudo密码,也自动执行那一系列的扩展编译安装命令了,超人性化。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 020
zephir开发环境如何搭建?换个方式写php扩展(图13-8)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 021
zephir开发环境如何搭建?换个方式写php扩展(图13-9)

cd php-zephir-parser
sudo ./install

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 022
zephir开发环境如何搭建?换个方式写php扩展(图13-10)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 023
zephir开发环境如何搭建?换个方式写php扩展(图13-11)

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

修改php.ini,然后重启php就可以使用了。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 024
zephir开发环境如何搭建?换个方式写php扩展(图13-12)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 025
zephir开发环境如何搭建?换个方式写php扩展(图13-13)

结论

在本文中,苏南大叔在mac开发机上搭建了zephir的基本环境。下一篇文章中,苏南大叔就编译一个zephir版本的hello world,敬请期待。

更多zephir的经验文章,请点击下面的这个链接。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    zephir