Linux升级Swoole及gcc

因业务方面需要升级swoole,从2.2升级到4.5

1.wget https://github.com/swoole/swoole-src/archive/v4.5.2.tar.gz

2.tar -zxvf  v4.5.2.tar.gz

3.cd swoole-src-4.5.2

4.在当前目录执行phpize,由于我用的是宝塔,所以我的执行命令是:/www/server/php/72/bin/phpize;

5../configure --with-php-config=/www/server/php/72/bin/php-config;

6.以上步骤成功后,依次再执行make clean(如果是升级swoole版本则先执行make clean)

7.make && make install(如果报gcc相关错误,请走7....步骤)

   注意:安装gcc会很慢的可能得用1个小时以上

   7.1执行完后可能会报gcc相关错误,原因是gcc版本过低,我的版本是4.4,直接将4.4版本升到4.8

   7.2wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2

   7.3tar -jxvf gcc-4.8.0.tar.bz2

   7.4cd gcc-4.8.0 ./contrib/download_prerequisites

   7.5cd ..
   7.6mkdir gcc-build-4.8.0
   7.7cd gcc-build-4.8.0 ../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
   7.8# j 后面的是核心数,编译速度会比较快 make -j4
   7.9sudo make install
   7.10ls /usr/local/bin | grep gcc
   7.11update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
   7.12gcc -v

8.运行make test(如果出现disable_functions相关错误请走8....)

8.1打开php.ini文件 8.2disable_functions=passthru,exec,chroot,chgrp,chown,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru(看下有没有被禁用的函数,有的话直接删除就行)

9.在php.ini中添加:extension=swoole.so(建议写成绝对路径)

10.重启php-fpm,问题来了(如果出现GLIBCXX相关错误请走9....) 

  10.1错误信息:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found 字面意思找不到GLIBCXX_3.4.18

   这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。

  10.2strings /usr/lib64/libstdc++.so.6 | grep GLIBC 看了一下确实没有3.4.18版本

   10.3cp /home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64

   10.4cd /usr/lib64

   10.5rm -rf libstdc++.so.6

   10.6ln -s libstdc++.so.6.0.21 libstdc++.so.6

   10.7在运行了一次strings /usr/lib64/libstdc++.so.6 | grep GLIBC一看有了

11.重启php-fpm

12.php -m查看安装的扩展


13.php --ri swoole查看swoole版本

14.升级成功!可谓程序员路途坎坷,原本以为十几分钟的事情搞了几个小时。其实这次安装最根本的原因是我的系统是Centos6,所以各种依赖也是老版本。如果是centos7+的话根本安装swoole4会很顺利的!

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值