一: 系统环境 阿里云
- [machao@gksn ~]$ cat /etc/redhat-release
- CentOS Linux release 7.3.1611 (Core)
php 版本
[machao@gksn ~]$ php -v 查看 php 版本
- PHP 7.1.10 (cli) (built: Nov 5 2017 17:49:07) ( ZTS )
- Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
[machao@gksn ~]$ php -m 查看 php 安装了哪些扩展
- [PHP Modules]
- bcmath
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo
二: 下载 swoole
http://pecl.php.net/package/swoole ## 官方下载地址 http://pecl.php.net/package/swoole
这里我下载了 swoole-2.0.12 版本的, 然后通过 ftp 上传到服务器 也可以直接 wget http://pecl.php.net/package/swoole/swoole-2.0.12.tgz 下载到服务器 (注意: 会变成 Xhtml 文件类型)
2.1 解压
- sudo tar -zxvf /usr/local/v2.0.6.tar.gz -C /usr/local/
- ll /user/local
- drwxr-xr-x 12 root root 4096 May 16 15:07 swoole-2.0.12
- cd swoole-2.0.12
三: 编译 & 安装
使用 phpize 来生成 php 编译配置
./configure 来做编译配置检测
make 进行编译, make install 进行安装
- 3.1:which phpize ## 服务器有多个版本 php, 不要 phpize 执行错 php 版本了
- [machao@zhangwan22222222 ~]$ which phpize
- /usr/local/php-7.1.10/bin/phpize
- 3.2:sudo /usr/local/php-7.1.10/bin/phpize
- 3.3
- [machao@zhangwan22222222 ~]$ whereis php-config ## 因为服务器上有多个版本的 php, 检查一下要用哪个版本的 php-config 这里用 7.1.10 版本的
- php-config: /usr/bin/php-config /usr/local/php-7.1.10/bin/php-config /usr/share/man/man1/php-config.1.gz
- sudo ./configure --with-php-config=/usr/local/php-7.1.10/bin/php-config
- 3.4sudo make
- 3.5sudo make install
make install 后, 如果正确, 会出现以下内容
- [root@php7 swoole-src-2.0.6]# make install
- Installing shared extensions: /usr/lib64/php/modules/
这表示, 在 /usr/lib64/php/modules/ 目录中, 成功生成了 swoole.so 文件
4. 修改配置文件
要能够使用 swoole 模块, 还需要在 php.ini 文件中添加该模块
修改 php.in 文件
[machao@zhangwan22222222 ~]$ sudo find /usr/local/ -name php.ini
/usr/local/php-7.1.10/etc/php.ini 这里使用 7.1.10 版本的 php.ini
- /usr/local/php-7.0.22/etc/php.ini
- vim /usr/local/php-7.1.10/etc/php.ini
在任意处添加
extension="swoole.so"
保存并退出并重启 php-fpm
sudo systemctl restart php-fpm
至此 swoole 安装完成
来源: http://www.bubuko.com/infodetail-2603581.html