swoole编译安装

进入swoole官网安装文档https://wiki.swoole.com/wiki/page/6.html

环境要求

安装前必须保证系统已经安装了下列软件
php-7.0 或更高版本
gcc-4.8 或更高版本
make
autoconf
pcre (CentOS系统可以执行命令:yum install pcre-devel

检测的命令分别为
PHP > 7.0

[root@VM_0_13_centos server]# php -v
PHP 7.2.22 (cli) (built: Sep 28 2019 14:54:37) ( NTS )

GCC>4.8

[root@VM_0_13_centos server]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

make autoconf pcre
显示Installed Packages @即是已安装

[root@VM_0_13_centos server]# yum list make
Installed Packages
make.x86_64          1:3.82-24.el7        @os

[root@VM_0_13_centos server]# yum list autoconf
Installed Packages
autoconf.noarch      2.69-11.el7          @os

[root@VM_0_13_centos server]# yum list pcre
Installed Packages
pcre.x86_64          8.32-17.el7           @anaconda

如果没有安装,yum install 对应的软件即可

CentOS版本尽量高

[root@VM_0_13_centos server]# rpm -q centos-release
centos-release-7-6.1810.2.el7.centos.x86_64

下载源码包

https://github.com/swoole/swoole-src/releases
http://pecl.php.net/package/swoole
http://git.oschina.net/swoole/swoole
下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装

以github为例 https://github.com/swoole/swoole-src/releases
在这里插入图片描述
在这里插入图片描述

上传与解压

用工具上传到服务器,随便哪个目录

[root@VM_0_13_centos server]# ls
data  lib.pl  mysql  nginx  panel  php  redis  stop  swoole-src-4.4.15.tar.gz

解压命令gunzip FileName.gz tar zxvf FileName.tar.gz

tar zxvf swoole-src-4.4.15.tar.gz

解压完毕

[root@VM_0_13_centos server]# ls
data  lib.pl  mysql  nginx  panel  php  redis  stop  swoole-src-4.4.15  swoole-src-4.4.15.tar.gz

编译

cd swoole
phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize)
./configure
make
sudo make install

进入解压后的文件夹

cd swoole-src-4.4.15/
phpize

这时会出现绿色的configure可执行性文件,执行该文件

[root@VM_0_13_centos swoole-src-4.4.15]# ./configure

报错,configure: error: Cannot find php-config. Please use --with-php-config=PATH ,所以加上php的配置文件php-config的路径
寻找php-config文件

[root@VM_0_13_centos swoole-src-4.4.15]# ps -ef | grep php
root      7774     1  0  2019 ?        00:05:18 php-fpm: master process (/www/server/php/72/etc/php-fpm.conf)

如上图,我的php安装目录在/www/server/php/72/,一般在/bin目录下

[root@VM_0_13_centos bin]# cd /www/server/php/72/bin
[root@VM_0_13_centos bin]# ls
pear  peardev  pecl  phar  phar.phar  php  php-cgi  php-config  phpdbg  phpize

那么php-config的路径为/www/server/php/72/bin/php-config
重新执行configure文件

[root@VM_0_13_centos swoole-src-4.4.15]# ./configure --with-php-config=/www/server/php/72/bin/php-config

紧接着

[root@VM_0_13_centos swoole-src-4.4.15]# make && make install

编译完成

----------------------------------------------------------------------
Libraries have been installed in:
   /www/server/swoole-src-4.4.15/modules
... ...
Build complete.
Installing shared extensions:     /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files:          /www/server/php/72/include/php/

我们可以到/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/去查看swoole.so文件

[root@VM_0_13_centos swoole-src-4.4.15]# cd /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
[root@VM_0_13_centos no-debug-non-zts-20170718]# ls
opcache.a  opcache.so  swoole.so

配置php-ini

编译安装成功后,修改php.ini加入
extension=swoole.so
通过php -m或phpinfo()来查看是否成功加载了swoole.so,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径。

[root@VM_0_13_centos swoole-src-4.4.15]# php --ini
Configuration File (php.ini) Path: /www/server/php/72/etc
Loaded Configuration File:         /www/server/php/72/etc/php.ini

得到了php.ini的路径,向php.ini文件中追加extension=swoole.so即可

[root@VM_0_13_centos no-debug-non-zts-20170718]# echo 'extension=swoole.so'>>/www/server/php/72/etc/php.ini

通过php -m或phpinfo()来查看是否成功加载了swoole.so

[root@VM_0_13_centos no-debug-non-zts-20170718]# php -m

出现swoole代表已加载。

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值