在CentOS7.2中lnmp环境下安装Swoole扩展

Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成。

安装准备

安装swoole前必须保证系统已经安装了下列软件

php-5.3.10 或更高版本
gcc-4.4 或更高版本
make
autoconf

下载地址

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 -mphpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php -i |grep php.ini来定位到php.ini的绝对路径。

PECL

swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole

pecl install swoole

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

退出移动版