最近在学习Swoole的一些东西;
然后我决定写一篇php7安装Swoole源码的一篇文章;
废话不多说;
我们进入正题;
安装Swoole源码前必须保证系统已经安装了下列软件;
我的机器在之前就安装了这些;
下载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
报错啦;
(╥╯^╰╥) , 不要急;
这个是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
现在不报版本错误啦;
如果你之前没有出现版本的问题;
可以忽略掉aotoconf更新操作;
这个时候我们在 ls
一下;
就会出现configure文件;
接下来;
我们在执行命令;
./configure --with-php-config=/usr/local/php/bin/php-config
在进行编译与安装;
make && make install
(╥╯^╰╥) , 有报错啦;
这个编译错误的原因在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
编译安装好啦;
我们再来校验一下;
ok , 更新成功;
这个时候我们在回到swoole目录下面;
在进行编译与安装;
make && make install
这次又报了一个错误;
要求php最低版本是7.2;
我的php版本是7.1的;
因为服务器上面存在其他项目;
我这里就不升级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
哈哈哈,变成4.8啦;
一二三四 , 再来一次;
make && make install
这次我要拜拜;
烧香中......;
不要报错啦;
(╥╯^╰╥);
安装成功;
我们在把扩展加入到php.ini文件里面;
// 获取php.ini文件的绝对路径
php -i | grep php.ini
// vim 编辑文件 上个命令获取的文件路径
之后在重启php;
pkill php-fpm //杀死php进程
/usr/local/php/sbin/php-fpm //启动php
打开 phpinfo
安装成功;
最后还是很开心的;
这篇文章写的一波三折;
我们实际的开发也是这样;
没有什么能一步到位的;
总之遇到问题, 解决问题就好啦;
(╥╯^╰╥)
本文为史大坨原创文章,转载无需和我联系,但请注明来自史大坨博客https://www.shidatuos.cn