保证 PHP 版本大于等于 7.1
保证 Swoole 拓展版本大于等于 1.9.23或者是2.1.0 目前最新的是4.4.5
需要 pcntl 拓展的任意版本
使用 Composer 作为依赖管理工具
linux 环境 CentOS 6.5 或更高版本操作系统
gcc --version
g++ --version
本文使用的centos6.10版本虚拟机做演示 自带的版本是4.4.6的,太低了需要升级
wget wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2
tar -jxvf gcc-4.8.5.tar.bz2
cd gcc-4.8.5.tar
./contrib/download_prerequisites
https://www.yy-tao.com/downloads/mpc-0.8.1.tar.gz
https://www.yy-tao.com/downloads/gmp-4.3.2.tar.bz2
https://www.yy-tao.com/downloads/mpfr-2.4.2.tar.bz
上传到gcc-4.8.5文件夹
注释掉download_prerequisites里的几行wget,然后执行脚本
mkdir /usr/local/src/gcc-build-4.8.5
cd /usr/local/src/gcc-build-4.8.5
/usr/local/src/gcc-4.8.5/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install
替换系统低版本gcc
mv /usr/bin/c++ /usr/bin/c++.bak
ln -s /usr/local/bin/c++ /usr/bin/c++
cd /usr/bin/
mv ./g++ ./g++.bak
ln -s /usr/local/bin/g++ /usr/bin/g++
mv ./gcc ./gcc.bak
ln -s /usr/local/bin/gcc /usr/bin/gcc
#查找gcc动态链接库位置位置
find / -name "libstdc++.so*"
cp /usr/local/lib64/libstdc++.so.6.0.19 /usr/lib64
rm -f ./libstdc++.so.6
ln -s libstdc++.so.6.0.19 libstdc++.so.6
#查看链接库是否替换完成
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
# 出现 GLIBCXX_3.4.13 说明成功
http://pecl.php.net/package/swoole
cd /usr/local/src/
wget http://pecl.php.net/get/swoole-4.4.5.tgz
tar xvf swoole-4.4.5.tgz
cd swoole-4.4.5
/usr/local/php/bin/phpize #我的phpize位置
./configure --with-php-config=/usr/local/php/bin/php-config #我的配置文件的位置
make && make install