IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 手把手写一个简单的 PHP 扩展 -> 正文阅读

[PHP知识库]手把手写一个简单的 PHP 扩展

手把手教你写一个PHP扩展,以下通过PHP7.4版本实现,其他版本可能有差异,但整体流程相当。

一、从官网下载源码包

PHP: Downloads

二、创建模块

解压源码,找到 ext 目录,通过下面命令创建一个扩展模块

./ext_skel.php --ext mymodel

创建成功后,会有以下提示:

三、编写模块的函数

找到创建的模块路径 ext/mymodel

1)在头文件声明函数

找到 php_mymodel.h

在这个头文件中声明了一个名为 mymodel的PHP空间的函数,在PHP的代码里就可以像普通函数一样调用:

PHP_FUNCTION(mymodel);

?2)编写函数的具体实现

找到 mymodel.c 文件

在PHP空间注册一个函数,函数名是 mymodel

PHP_FE(mymodel, NULL)

然后在文件末尾增加 mymodel 函数的具体实现

PHP_FUNCTION(mymodel) {
        php_printf("hello, mymodel");
}

?3)编译安装模块

1、在 ext/mymodel 目录下执行phpize命令

phpize

2、编译安装模块

切换到 ext/mymodel 目录

./configure --enable-foobar --with-config-path=/usr/local/php/bin/php-config

如果没有报错就可以 make 安装

make && make install

安装完成后会提示扩展文件的生成路径,比如:

Installing shared extensions: ? ? /usr/local/php742/lib/php/extensions/no-debug-non-zts-20190902/

4) 修改php.ini 引入扩展文件

extension=mymodel.so

?查看模块是否加载成功

php -m | grep mymodel

四、测试,验证扩展

命令行测试 mymodel 函数,可以看到输出了在扩展定义的语句

php -r "mymodel();"

?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章           查看所有文章
加:2022-04-28 11:37:02  更:2022-04-28 11:37:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 7:44:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码