当前位置: 首页 > 后端技术 > PHP

Golang编写PHP扩展

时间:2023-03-29 21:24:06 PHP

Phper知道php-extension是用C/C++编写的。由于C/C++的开发效率,我们使用golang编写php-extension,充分利用golang的开发效率和生态,为PHP添砖加瓦。环境准备wslubuntugolang1.13php7.3新建项目php7。3之前版本的ext_skel的参数与之前版本不同,请参考帮助操作php:./ext_skel.php--extgoserver--onlyunixgolang:mkdirgoserverpackagefilepackageCfileasgolangfilepackagemain/*phpextension.C文件内容*/import"C"funcmain(){}build$phpize$./configure$CGO_CFLAGS="-g-O2-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1\-I.-DPHP_ATOM_INC\-I/usr/include/php/20180731/include\-I/usr/include/php/20180731/main\-I/usr/include/php/20180731\-I/usr/include/php/20180731/main\-I/usr/include/php/20180731/TSRM\-I/usr/include/php/20180731/Zend\-I/usr/include/php/20180731/ext\-I/usr/include/php/20180731/ext/日期/lib\-DHAVE_CONFIG_H-DCOMPILE_DL_GOPHP-fPIC-DPIC"\CGO_LDFLAGS="-Wl,--export-dynamic-Wl,--unresolved-symbols=ignore-all-Wl,-z,nodelete"\gobuild-p1-gcflags"-l"-buildmode=c-shared-omodules/goserver.sogoserver.goCGO编译参数根据实际填写情况可以查看生成的makefile中的参数run修改php.ini,添加extension=goserver.so运行扩展自带的功能测试。

最新推荐
猜你喜欢