Swoole 是一种 PHP 高级 Web 开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用 Swoole 框架,开发一个复杂的 Web 功能,可以在很短的时间内完成。
安装准备
安装 swoole 前必须保证系统已经安装了下列软件
php-5.3.10 或更高版本
gcc-4.4 或更高版本
make
autoconf
下载地址
- https://github.com/swoole/swoole-src/releases
- http://pecl.php.net/package/swoole
- http://git.oschina.net/matyhtf/swoole
- 或者直接 git clone https://github.com/swoole/swoole-src.git
1. 下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装
2. 开始安装: 引用自 swoole 官方文档
cd swoole
phpize
./configure
make && sudo make install
./configure
这步在 lnmp1.3 下编译会提示configure: error: Cannot find php-config. Please use --with-php-config=PATH
一般出现这个错误说明你执行 ./configure 时 –with-php-config 这个参数配置路径错误导致的。
查找:
find / -name php-config
输入 ./configure --with-php-config=/usr/local/php/bin/php-config
就可以解决问题
上面的 /usr/local/php/ 是你的 php 安装路径
3. 额外编译参数
--enable-msgqueue
使用消息队列作为 IPC 通信方式,消息队列的好处是 buffer 区域可以很大
另外 dispatch_mode= 3 时,消息队列天然支持争抢。使用消息队列作为 IPC 时,worker 进程内将无法使用异步,包括异步
swoole_client,task/finish,swoole_event_add,swoole_timer_add
--enable-swoole-debug
打开调试日志,开启此选项后 swoole 将打印各类细节的调试日志。生产环境不要启用。--enable-sockets
增加对 sockets 资源的支持,依赖 sockets 扩展。开启此参数,swoole_event_add 就可以添加 sockets 扩展创建的连接到 swoole 的事件循环中。--enable-async-mysql
增加异步 mysql 支持,依赖 mysqli 和 mysqlnd
--enable-ringbuffer
开启 RingBuffer 内存池
4. 修改 php.ini
vi /usr/local/php/etc/php.ini
extension=swoole.so
php -m|grep swoole
显示 swoole 即表示安装成功
通过 php -m
或phpinfo()
来查看是否成功加载了 swoole,如果没有可能是 php.ini
的路径不对,可以使用 php -i |grep php.ini
来定位到 php.ini
的绝对路径。
PECL
swoole 项目已收录到 PHP 官方扩展库,除了手工下载编译外,还可以通过 PHP 官方提供的 pecl 命令,一键下载安装 swoole
pecl install swoole
正文完