Centos7 编译安装 swoole 错误解决方法

  • php版本7.2, 使用yum方式安装的, pecl install swoole-4.4.7报错,错误信息并开不出什么问题,所以进行编译安装。

  • 编译安装错误信息如下:

include/php/Zend/zend_operators.h:500:68: error: '__builtin_ssubl_overflow' was not declared in this scope
if (UNEXPECTED(__builtin_ssubl_overflow(Z_LVAL_P(op1), 1, &lresult))) {

  • 该错误是由于centos上的默认gcc缺少必需的定义,即使在升级gcc之后,PECL也会找到旧的编译器。要安装驱动程序,必须首先通过安装devtoolset集合来升级gcc, 操作如下:
sudo yum install centos-release-scl
sudo yum install devtoolset-7
scl enable devtoolset-7 bash
  • 通过上述操作,可以编译安装成功,但是加载扩展会出现错误,由于php是在升级gcc前安装的,调用gcc版本一致的代码会错误。

  • scl enable devtoolset-7 bash执行后进行php的重新安装,然后再安装swoole即可解决该问题。

发布了60 篇原创文章 · 获赞 0 · 访问量 1432

猜你喜欢

转载自blog.csdn.net/ClassmateLin/article/details/104324559