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