【PHP 扩展开发】Hello World

本文详细介绍如何从零开始,使用原生方法开发一个PHP扩展。以php-7.2.15为例,从创建扩展骨架到编译安装,再到测试运行,带你深入了解PHP扩展的开发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面两篇介绍了 Zephir ,从此可以开发自己的扩展了,可毕竟是通过转换而来,虽然很方便,可对于扩展还是一知半解,也无法判断其好坏,所以还是要了解下用原生的方法是怎么开发一个 PHP 扩展的。

本文以 php-7.2.15 为例

创建扩展骨架

# 源码路径
cd /usr/local/src/php-7.2.15/ext 
./ext_skel --extname=twinkle_log

提示如下

clipboard.png

提示已创建好基础文件,如果想使用这个新扩展,需要噼里啪啦这么些布骤,先记着就好。

修改config.m4

cd twinkle_log
vi config.m4

clipboard.png

这两块注释选一个先打开,具体含义后面文章再说明,我们选下面的

创建自己的方法

vi twinkle_log.c

clipboard.png

声明该方法

clipboard.png

注意大小写敏感

编译安装

/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make 
make install

填加扩展

vi /usr/local/php72/lib/php.ini
# 填加扩展 extension=twinkle_log

测试一下

clipboard.png

扩展安装成功

<?php

// test.php

hello_world();

执行脚本

php -f test.php

clipboard.png

执行成功。

这样我们就创建了一个非常简单的扩展,虽是很简单的扩展,可还是比 Zephir 复杂很多。

当然他啥用也没有,没有涉汲到内存管理,没有使用指针,做了这一些操作,也不知道是啥意思,带着疑问,我们慢慢深入研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值