codeblocks 实现php扩展
安装必要工具
确保系统已安装 PHP 开发环境和 Code::Blocks。需要安装 PHP 源代码和开发工具链(如 php-dev 或 php-devel 包),以及 GCC 编译器。
sudo apt-get install php-dev gcc make
创建扩展骨架
使用 PHP 提供的工具生成扩展骨架。进入 PHP 源代码目录的 ext 文件夹,运行以下命令生成一个名为 myextension 的扩展模板:
cd php-src/ext
./ext_skel --extname=myextension
配置 Code::Blocks 项目
打开 Code::Blocks,创建一个新的 "Empty Project"。将生成的扩展文件(如 myextension.c 和 php_myextension.h)添加到项目中。
在项目属性的 "Build targets" 中设置输出类型为 "Dynamic Library"(.so 文件)。在 "Compiler settings" 的 "Other options" 添加 PHP 扩展编译标志:

`php-config --includes`
在 "Linker settings" 中添加:
`php-config --libs`
实现扩展功能
编辑 myextension.c 文件,在 PHP_FUNCTION 块中实现自定义功能。例如添加一个简单的函数:

PHP_FUNCTION(myextension_hello) {
php_printf("Hello from myextension!\n");
}
在扩展模块的入口函数中注册该函数:
const zend_function_entry myextension_functions[] = {
PHP_FE(myextension_hello, NULL)
{NULL, NULL, NULL}
};
编译与测试
在 Code::Blocks 中构建项目,生成 .so 文件。将生成的 .so 文件复制到 PHP 扩展目录(可通过 php-config --extension-dir 查看)。
在 php.ini 中添加:
extension=myextension.so
重启 PHP 服务后,即可通过 myextension_hello() 调用新实现的函数。






