升级gcc
默认gcc的版本为4.8.5,grpc扩展需要支持c++14
查询对照的话gcc6.1就可以完全至此c++14 (转载至)如图:
踩过的坑,重新安装升级了gcc 6.5.0的版本,安装grpc还是提示如下:
可能是安装升级的方式不对,大家可自行尝试。
后来用这个升级了gcc之后安装一次性成功 《Linux安装GCC+升级GCC流程详解》
升级gcc之后,就可以按照下方grpc官网的教程安装grpc的扩展
RELEASE_TAG_HERE 替换成自己需要的版本分支 grpc/tags
当前选择的是 v1.50.1
git clone -b v1.50.1 https://github.com/grpc/grpc
默认git版本为1.8版本的比较不稳定,建议升级git版本,git clone成功率会比较高
clone过程中可能超时多尝试几次 如图:
cd grpc # 如下命令根据grpc根目录的.gitmodules文件进行更新,有多个子模块执行过程中可能有多次失败,多尝试几次
# 执行
git submodule update --init
1 # 下载完成后执行 2 EXTRA_DEFINES=GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK make 3 grpc_root="$(pwd)" 4 cd src/php/ext/grpc 5 phpize 6 GRPC_LIB_SUBDIR=libs/opt ./configure --enable-grpc="${grpc_root}" --with-php-config=/usr/local/php74/bin/php-config 7 make && make install
安装完成之后grpc.so会放在php的扩展目录下 /usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/
更新php.ini
1 vim /usr/local/php74/etc/php.ini 2 extension=grpc.so 3 # 保存重新启动php进程 4 systemctl restart php-fpm74
php -m 查看安装的模块