摘要:这里我们使用来安装我们的开发环境,的安装参考官方文档使用安装编译器首先就是根据我们目标版本拉取对应的编译器镜像,这里我们版本是,于是使用这条命令然后创建文件,文件内容如下对这个文件加上可执行权限这样我们就装好了编译器创建
这里我们使用Docker来安装我们的开发环境,docker的安装参考官方文档https://docs.docker.com/install/使用Docker安装Zephir编译器
首先就是根据我们目标PHP版本拉取对应的Zephir编译器镜像,这里我们PHP版本是7.0,于是使用这条命令:
docker pull phalconphp/zephir:7.0
然后创建/usr/local/bin/zephir文件,文件内容如下:
#!/usr/bin/env bash docker_bin="$(which docker 2> /dev/null)" # 5.4, 5.5, 5.6, 7, 7.0, latest PHP_VERSION=7.0 ${docker_bin} run -it --rm --privileged=true -e ZEND_DONT_UNLOAD_MODULES=1 -v $(pwd):/zephir phalconphp/zephir:${PHP_VERSION} "$@" ret=$? if [ ${ret} -ne 0 ]; then errors="$(pwd)/compile-errors.log" if [ -e ${errors} ]; then cat ${errors} fi fi
对这个文件加上可执行权限:
sudo chmod a+x /usr/local/bin/zephir
这样我们就装好了Zephir编译器:
$zephir version 0.9.7创建一个PHP二进制库项目
这里我们创建的项目名叫做utils,使用Zephir脚手架初始化项目代码:
zephir init utils
编写一个zep文件:
$ cat utils/utils/greeting.zep namespace Utils; class Greeting { public static function say() { echo "hello world! "; } }编译这个项目
$cd utils $ls config.json ext utils $zephir build
这样我们就得到了我们编译的so库文件:ext/modules/utils.so
测试以及使用这个so库文件通过php -i | grep extension_dir得到我们PHP拓展so文件的安装目录是:/usr/lib/php/20151012/下面,于是2条命令完成cli模式PHP的拓展安装,fpm模式也类似,(通过php -i | grep "Scan this dir for additional .ini files"获取ini配置文件目录):
sudo cp ext/modules/utils.so /usr/lib/php/20151012/ echo "extension=utils.so" | sudo tee /etc/php/7.0/cli/conf.d/30-zephir-dev.ini
最后我们,写个PHP文件来测试下这个so库是否安装成功:
$cat > test.php <<_EOF得到结果:
object(UtilsGreeting)#1 (0) { } hello world!参考https://hub.docker.com/r/phal...
https://docs.zephir-lang.com/...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28224.html
摘要:什么是是一种中间语言,以接近的语法来编写代码,然后转换编译成扩展,旨在简化扩展的创建和可维护性。如果成功,会自动生成文件到目录你需要编辑填加扩展测试一下就这样,你也会扩展开发了附附编译扩展的方法 什么是 Zephir Zephir 是一种中间语言,以接近 PHP 的语法来编写代码,然后转换编译成 PHP 扩展,旨在简化 PHP 扩展的创建和可维护性。利用编译来提高性能和资源消耗,又不需...
摘要:是什么是开源全功能栈使用扩展编写针对高性能优化的框架。也是松耦合的,可以根据项目的需要任意使用其他对象。安装支持版本的不支持普通方式的编译安装,只能通过安装。因此安装之前,请先安装。 Phalcon 是什么? Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来...
摘要:更多关于的技术文章的扩展是用语言编写,是语言引擎,内核。见提供了一种类似的高级语言语法的方式,来自动生成扩展的语言代码,使编写扩展变得非常的简单。直接修改该文件的代码,使用原扩展的编辑方法也是可以滴。 更多关于PHP的技术文章http://www.codefrom.com/ php的扩展是用c语言编写,Zend是语言引擎,PHP内核。在实际编写php扩展的时候,需要使用大量的...
摘要:概述是一个开源的用于简化扩展的创建和维护的语言。它使得不擅长的开发人员也能写出扩展。是缩写,读音为。然后我们在里调用方法正常的话会输出。至此我们也完成了我们的第一个扩展。 概述 Zephir是一个开源的用于简化PHP扩展的创建和维护的语言。它使得不擅长C/C++的PHP开发人员也能写出PHP扩展。Zephir是Zend Engine/PHP/Intermediate缩写,读音为zep...
摘要:四使用语言开发是我重点推荐的扩展开发框架,简明易懂,功能强大,开发效率高,代码易维护,执行速度快。优点三支持,的扩展开发有两套扩展开发框架,分别支持,,虽然框架代码有两个,但是接口却是一样的。 PHP扩展是高级PHP程序员必须了解的技能之一,对于一个初入门的PHP扩展开发者,怎么才能开发一个成熟的扩展,进入PHP开发的高级领域呢?本系列开发教程将手把手带您从入门进入高级阶段。本教程系列...
阅读 3193·2021-11-18 10:02
阅读 3417·2021-10-11 10:58
阅读 3324·2021-09-24 09:47
阅读 1095·2021-09-22 15:21
阅读 3858·2021-09-10 11:10
阅读 3254·2021-09-03 10:28
阅读 1723·2019-08-30 15:45
阅读 2096·2019-08-30 14:22