背景
假设你有个 PHP 写的网站遇到了性能问题,经分析后发现很大一部分资源就耗在 PHP 上(尽管大多数瓶颈是在数据库),我们会想到迁移到性能更好的语言如 Java、C++、Go;或者通过 RPC 将功能分离出来用其它语言实现或者写 PHP 扩展,在性能瓶颈地方换 C/C++;今天我们要研究的就是用其他语言来写php拓展
技术方法和框架
一、使用ext-skel C语言开发
ext-skel是PHP官方源码里提供的生成php扩展的工具,可以生成一个c语言框架的php扩展的骨架。
二、使用zephir 类php语言开发
Zephir 是一种中间语言,以接近 PHP 的语法来编写代码,然后转换成 PHP 扩展
zephir 官网
三、使用PHP-X C++语言开发
PHP-X是一个基于PHP ZendVM的C++封装层,可以基于PHP-X开发PHP扩展、C++嵌入PHP、PHP SAPI等程序。PHP-X可以大大降低PHP内核扩展开发的难度,提升效率
phpx 官网
四、使用phpcpp C++语言开发
一个用于开发PHP扩展的c++库。它提供了一组文档化良好且易于使用的类,可以使用这些类并对其进行扩展,以构建PHP的本地扩展。