C++扩展模块开发

最新的swoole-1.8.8版本增加了对C++扩展模块开发的支持。可以使用C/C++语言为swoole编写功能扩展。

1.9.6已对扩展模块进行了重构,移除了C版本的实现,仅支持C++。并对C++提供了更高级的API

在扩展模块中,C++程序可以直接调用PHP函数,包括内置函数和用户函数。PHP程序中也可以直接调用扩展模块提供的C++函数。

扩展模块适用场景

  • 密集运算程序,PHP语言程序在大量运算的场景性能比C++慢几十到上百倍。扩展模块可以有效解决此类性能问题
  • 修改swoole底层行为,swoole为C++扩展模块提供了HOOK函数设置,扩展还可以直接调用底层的swoole API,实现纯PHP无法支持的功能
  • 代码保护,C++程序可以只分发二进制的可执行文件。某些关键逻辑可以使用C++实现,避免源码泄漏

开发环境依赖

  • 需要安装 PHP7 和 Swoole 扩展
  • clang/g++ 4.8或更高版本 编译器
  • 目前仅支持Linux平台