进入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;
1110

被折叠的 条评论
为什么被折叠?



