"这篇教程是关于PHP扩展的开发,作者Jerry Liu分享了他在创建一个简单的PHP扩展过程中的步骤和心得,适用于对PHP内核和扩展感兴趣的开发者。"
在这篇PHP扩展开发图文教程中,作者首先介绍了环境配置,使用的是Ubuntu 10.10操作系统以及PHP 5.2.17版本。为了开发PHP扩展,他建议从PHP官网下载源码包,并进入`ext`目录。在这里,有一个名为`ext_skel`的脚本(Windows环境下为`ext_skel_win32.php`),这个脚本用于生成新扩展的基本框架。
作者以创建一个名为“jerry”的扩展为例,通过执行`./ext_skel --extname=jerry`命令,自动生成了一个包含必要文件的jerry目录。这些文件包括`config.m4`, `jerry.c`, 和 `php_jerry.h`,它们分别是配置文件、C源代码文件和头文件。
接下来,教程详细讲解了如何修改这些文件:
1. **修改config.m4文件**:在`config.m4`中,作者建议取消PHP_ARG_WITH行的注释,以便编译时能识别新扩展。同时,不需要改动加载文件的行,因为dnl在这里是作为注释使用。
2. **修改php_jerry.h文件**:在`php_jerry.h`中,需要在PHP_FUNCTION位置添加自定义函数的声明。例如,作者添加了`jerry`和`tom`两个函数。然后在`jerry_functions`函数内部,添加相应的PHP_FE宏以注册这两个函数。
3. **修改jerry.c文件**:`jerry.c`是扩展的核心,包含了函数的具体实现。在这里,你需要编写`jerry`和`tom`函数的逻辑。教程并未提供具体的函数实现,但通常这会涉及处理参数,执行相关操作,然后返回结果。
完成以上步骤后,你需要按照标准的PHP扩展编译流程来编译和安装这个扩展,包括运行`phpize`, `./configure`, `make`, 和 `make install`命令。最后,更新php.ini文件以启用新扩展,并重启PHP服务,就能在PHP脚本中使用自定义的`jerry`和`tom`函数了。
这个教程对于想要深入了解PHP内核机制和扩展开发的开发者非常有用。它不仅展示了创建简单扩展的基本步骤,还提供了一个动手实践的机会,帮助读者更好地理解PHP扩展的工作原理。通过跟随教程,读者可以为自己的PHP项目开发定制化的功能,增强PHP的功能性。