返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php7中如何创建扩展
  • 515
分享到

php7中如何创建扩展

2023-06-20 18:06:19 515人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关PHP7中如何创建扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将实现如下功能:<?phpecho say();?>输出内容:$&nb

这篇文章将为大家详细讲解有关PHP7中如何创建扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

将实现如下功能:

<?phpecho say();?>

输出内容:

$ php ./test.php$ hello Word

在扩展中实现一个say方法,调用say方法后,输出 hello word。

第一步:生成代码

PHP为我们提供了生成基本代码的工具 ext_skel。这个工具在PHP源代码的./ext目录下。

$ cd php_src/ext/$ ./ext_skel --extname=say

extname参数的值就是扩展名称。执行ext_skel命令后,这样在当前目录下会生成一个与扩展名一样的目录。

第二步,修改config.m4配置文件

config.m4的作用就是配合phpize工具生成configure文件。configure文件是用于环境检测的。检测扩展编译运行所需的环境是否满足。现在我们开始修改config.m4文件。

$ cd ./say$ vim ./config.m4

打开,config.m4文件后,你会发现这样一段文字。

dnl If your extension references something external, use with:    dnl PHP_ARG_WITH(say, for say support, dnl Make sure that the comment is aligned: dnl [  --with-say             Include say support])  dnl Otherwise use enable:  dnl PHP_ARG_ENABLE(say, whether to enable say support, dnl Make sure that the comment is aligned: dnl [  --enable-say           Enable say support])

其中,dnl 是注释符号。上面的代码说,如果你所编写的扩展如果依赖其它的扩展或者lib库,需要去掉PHP_ARG_WITH相关代码的注释。否则,去掉 PHP_ARG_ENABLE 相关代码段的注释。我们编写的扩展不需要依赖其他的扩展和lib库。因此,我们去掉PHP_ARG_ENABLE前面的注释。去掉注释后的代码如下:

dnl If your extension references something external, use with:    dnl PHP_ARG_WITH(say, for say support, dnl Make sure that the comment is aligned: dnl [  --with-say             Include say support])  dnl Otherwise use enable:  PHP_ARG_ENABLE(say, whether to enable say support, Make sure that the comment is aligned: [  --enable-say           Enable say support])

第三步,代码实现

修改say.c文件。实现say方法。
找到PHP_FUNCTION(confirm_say_compiled),在其上面增加如下代码:

PHP_FUNCTION(confirm_say_compiled){        zend_string *strg;        strg = strpprintf(0, "hello word");        RETURN_STR(strg);}

找到 PHP_FE(confirm_say_compiled, 在上面增加如下代码:

PHP_FE(say, NULL)

修改后的代码如下:

const zend_function_entry say_functions[] = {     PHP_FE(say, NULL)            PHP_FE(confirm_say_compiled,    NULL)            PHP_FE_END   }; 

第四步,编译安装

编译扩展的步骤如下:

$ phpize$ ./configure$ make && make install

修改php.ini文件,增加如下代码:

[say]extension = say.so

然后执行,php -m 命令。在输出的内容中,你会看到say字样。

第五步,调用测试

自己写一个脚本,调用say方法。看输出的内容是否符合预期。

关于“php7中如何创建扩展”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: php7中如何创建扩展

本文链接: https://lsjlt.com/news/299436.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php7中如何创建扩展
    这篇文章将为大家详细讲解有关php7中如何创建扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将实现如下功能:<phpecho say();>输出内容:$ ...
    99+
    2023-06-20
  • php7中如何使用mysqli扩展
    今天就跟大家聊聊有关php7中如何使用mysqli扩展,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。因为php7安装目录中没有php.ini文件所以可以复制php.ini-devel...
    99+
    2023-06-20
  • 如何在 Rust中创建 PHP 扩展
    这期内容当中小编将会给大家带来有关如何在 Rust中创建 PHP 扩展,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。可以编译的Rust代码到一个库里面,并写为它一些C的头文件,在C中为被调用的PHP做一个...
    99+
    2023-06-17
  • php7如何安装mongodb扩展
    小编给大家分享一下php7如何安装mongodb扩展,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的框架有哪些php的框架:1、Laravel,Larave...
    99+
    2023-06-15
  • Ubuntu14如何安装php7扩展
    这篇文章将为大家详细讲解有关Ubuntu14如何安装php7扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Ubuntu14安装php7的方法:1、安装mysql;2、下载php源码“php-7.2.2...
    99+
    2023-06-22
  • yum如何安装php7 扩展
    这篇文章将为大家详细讲解有关yum如何安装php7 扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。yum安装php7扩展的方法:1、安装epel和REMI源;2、查看可以安装的PHP版本并使用“yum...
    99+
    2023-06-22
  • 如何创建VSCode扩展插件
    目录创建插件开发模板插件运行和调试插件打包扩展插件的安装和卸载创建第一个实用插件VS Code提供了强大的扩展功能,我们可以通过开发插件实现自己的业务模型编辑器。这里我们快速介绍一下...
    99+
    2024-04-02
  • 如何在PHP7中安装mysql的扩展
    相对与PHP5,PHP7的最大变化之一是移除了MySQL扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到...
    99+
    2024-04-02
  • 如何在PHP7中安装mysql扩展模块
    这期内容当中小编将会给大家带来有关如何在PHP7中安装mysql扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。解压# tar xzvf mysql-45881bd.t...
    99+
    2023-06-15
  • php7中怎么安装yaf扩展
    这篇文章主要介绍了php7中怎么安装yaf扩展,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php7 yaf扩展的安装方法:1、下载yaf扩展库源码安装包;2、下载yaf扩展...
    99+
    2023-06-15
  • 一文探讨如何在php7中安装oauth2扩展
    PHP7是一款高效的编程语言,它一直以来都是Web开发领域的热门选择。OAuth2协议是一个用于身份验证和授权的开放标准,用于保护Web应用程序的安全性以及用户的隐私。现在,让我们来一起探讨如何在PHP7中安装OAuth2扩展,以便于我们在...
    99+
    2023-05-14
    oauth2扩展 php
  • php7 redis扩展安装不上如何解决
    这篇文章主要介绍了php7 redis扩展安装不上如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php7 redis扩展安装不上如何解决文章都会有所收获,下面我们一起来看看吧。一、问题描述在安装 php...
    99+
    2023-07-06
  • PHP7如何安装OAuth2扩展:完整教程
    PHP7如何安装OAuth2扩展:完整教程 OAuth2是一种授权框架,用于通过安全且标准化的方式保护Web服务的资源。在PHP开发中,OAuth2的扩展可以帮助我们简化身份验证和授权...
    99+
    2024-04-02
  • oracle如何创建实例、建库、建表、扩展表空间
    这篇文章主要介绍oracle如何创建实例、建库、建表、扩展表空间,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!版本:oracle 11g 一、创建实例(详细参考:http:...
    99+
    2024-04-02
  • 怎么在php7中安装memcache扩展
    今天就跟大家聊聊有关怎么在php7中安装memcache扩展,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php7安装memcache扩展下载文件,解压缩memcache windo...
    99+
    2023-06-15
  • 怎么在php7中安装oauth2扩展
    本篇内容介绍了“怎么在php7中安装oauth2扩展”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装OAuth3扩展要在PHP7中安装OA...
    99+
    2023-07-05
  • 如何在Marketing Cloud里创建extension field扩展字段
    首先在Marketing Cloud里找到创建扩展字段的tile入口,搜索关键字extension:...
    99+
    2023-06-03
  • 为Python创建扩展,使python能
    在架构服务器的时候,使用了IOCP来收发数据,使用Python写解包入库程序,那么要让两个进程通信,有很多方法,这里使用了内存共享的方法 python本来没有内存共享(我没有找到,也不知道是不是真的没有,但是和C++的程序共享内存,我想确实...
    99+
    2023-01-31
    Python python
  • Java扩展方法怎么创建
    这篇文章主要讲解了“Java扩展方法怎么创建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java扩展方法怎么创建”吧!引言扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编...
    99+
    2023-07-05
  • 在centos7中怎么为php7安装redis扩展
    这篇文章主要介绍在centos7中怎么为php7安装redis扩展,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下载redis下载redis,解压,编译:$ wget http://downloa...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作