双剑合璧 PHP7支持Swoole 掉坑篇

最近在学习Swoole的一些东西;
然后我决定写一篇php7安装Swoole源码的一篇文章;
废话不多说;
我们进入正题;

安装Swoole源码前必须保证系统已经安装了下列软件;

  1. php-7.1 或更高版本;
  2. gcc-4.8 或更高版本;
  3. make;
  4. autoconf;

我的机器在之前就安装了这些;
下载Swoole源码;

cd /usr/local/src //进入到下载源码的目录
git clone https://gitee.com/swoole/swoole.git //下载源码

我们把源码download下来之后;
进入到swoole源码目录;
cd swoole;
发现没有configure文件;
我们要用到 phpize;

[root@VM_0_16_centos swoole]# which phpize  // 找到我们的phpize目录
/usr/local/php/bin/phpize

我们执行命令;

/usr/local/php/bin/phpize

phpize

报错啦;
(╥╯^╰╥) , 不要急;
这个是aotoconf版本过低导致的;
我们需要卸载这个;
然后安装最新版本的aotoconf;

// 查询当前版本:
rpm -qf /usr/bin/autoconf
// 卸载当前版本:
rpm -e --nodeps autoconf-2.63
// 安装最新版本:
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure
make && make install

然后再次执行命令;

/usr/local/php/bin/phpize

phpize

现在不报版本错误啦;
如果你之前没有出现版本的问题;
可以忽略掉aotoconf更新操作;

这个时候我们在 ls 一下;
就会出现configure文件;
configure

接下来;
我们在执行命令;

./configure --with-php-config=/usr/local/php/bin/php-config

在进行编译与安装;

make && make install

(╥╯^╰╥) , 有报错啦;
error信息
这个编译错误的原因在g++ gcc 版本不够高;
没事咱们遇到问题就解决问题;
下载版本更高的安装包进行安装;
下载地址

//下载文件
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
//解压文件包
tar -jxvf gcc-4.8.2.tar.bz2
//进入文件目录
cd gcc-4.8.2
//这个脚本文件会帮我们下载、配置、安装依赖库
./contrib/download_prerequisites
//生成Makefile文件
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
//编译与安装 (这个编译时间会久一点)
make && make intsall

编译安装好啦;
我们再来校验一下;
gcc -v
ok , 更新成功;
这个时候我们在回到swoole目录下面;
在进行编译与安装;

make && make install

error
苦笑
这次又报了一个错误;
要求php最低版本是7.2;
我的php版本是7.1的;
php-v
因为服务器上面存在其他项目;
我这里就不升级php啦;
我们选择一个php7.1支持的swoole源码包进行安装;
git clone https://gitee.com/swoole/swoole.git 它会下载最新的swoole源码包;
打开我发的这个链接 https://gitee.com/swoole/swoole/repository/archive/v4.2.10
下载压缩包;
然后在上传到服务器上面;
注意这里一定要把之前的源码包删除啦;
再解压压缩包;
进入swoole目录;
然后在按照之前的流程走一遍;
执行命令;

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
//最后编译与安装
make && make install

有报错啦
因为我们之前也更新到4.8版本啦;
接下来备份原来的gcc;

mv /usr/bin/gcc /usr/bin/gcc4.4.7
//然后再创建一个高版本的软连接
ln -s /usr/local/bin/gcc /usr/bin/gcc

这个时候在cc -v
cc -v

哈哈哈,变成4.8啦;
一二三四 , 再来一次;

make && make install

这次我要拜拜;
烧香中......;
不要报错啦;
(╥╯^╰╥);
安装成功;
swoole安装成功
我们在把扩展加入到php.ini文件里面;

// 获取php.ini文件的绝对路径
php -i | grep php.ini
// vim 编辑文件 上个命令获取的文件路径

加入swoole扩展
之后在重启php;

pkill php-fpm //杀死php进程
/usr/local/php/sbin/php-fpm //启动php

打开 phpinfo
phpinfo
安装成功;
最后还是很开心的;
这篇文章写的一波三折;
我们实际的开发也是这样;
没有什么能一步到位的;
总之遇到问题, 解决问题就好啦;
(╥╯^╰╥)

史大坨博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论