PHP扩展开发不是所有开发者都会操作的一个东西,下面我来演示一个关于PHP扩展开发实现过程,各位同学有需要可进入参考。
我们先假设需要这样一个扩展,提供一个叫tao_string的函数,他的主要作用是返回一段字符。对应的PHP代码可能是这样:
代码如下 | 复制代码 |
function tao_string($str){ |
第一步,生成代码
PHP为了扩展开发的方便,提供了一个类似代码生成器的工具ext_skel,具体可以参见php.net官方的说明 (https://svn.php.net/repository/php/php-src/trunk/README.EXT_SKEL)。
创建一个文件tao.skel,它的内容为
string tao_string(string str)
就是告诉ext_skel这个东西,我们要做的扩展里面有个函数叫tao_string。然后执行
代码如下 | 复制代码 |
cd MooENV/src/php-5.3.8/ext/ |
这时候,tao这个扩展的代码框架就已经出来了。
第二步,修改配置
然后修改config.m4文件将10、11、12三行最前面的dnl删除掉,就是将
代码如下 | 复制代码 |
dnl PHP_ARG_WITH(tao, for tao support, 修改为 PHP_ARG_WITH(tao, for tao support, |
第三步,实现功能
修改源码tao.c文件
找到将tao_string这个函数修改为
代码如下 | 复制代码 |
PHP_FUNCTION(tao_string) if (zend_parse_parameters(argc TSRMLS_CC, "s", &str, &str_len) == FAILURE) str_len = spprintf(&result, 0, "wo shi %.78s", str); |
第四步,编译扩展
保存后,开始编译
代码如下 | 复制代码 |
/usr/local/php/bin/phpize |
第五步,添加扩展
这时候,一切顺利的话,该扩展已经在modules/tao.so这个位置了。下面就是将这个扩展加入到PHP中去,让我们PHP程序可以调用到。
代码如下 | 复制代码 |
cp modules/tao.so /usr/local/php/ext/ |
接下来就可以访问tao.php这个文件,测试了

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器