参考:https://www.w3cschool.cn/swoole/swoole-install.html
centos7.2 \php7.2 \ gcc4.8
下载源码地址:
下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装
cd swoole
phpize
./configure
make
sudo make install
注意:我这里提示phpize不存在。 参考:https://blog.csdn.net/weixin_38674371/article/details/84714696
因为我的php安装在/usr/local/php72这个目录下,所以找不到phpize
我这边是写的绝对路径执行的/usr/local/php72/bin/phpize
然后./configure的时候提示
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
解决方案:yum install glibc-headers
yum install gcc-c++
参考:https://blog.csdn.net/qq_21119513/article/details/80459508
还报错没有php-config
解决方案是在./configure后面带上php-config路径
像这样:./configure --with-php-config=/usr/local/php72/bin/php-config
至此没有障碍了,编译成功!
编译成功后需要修改php.ini,加入extension=swoole.so
之后重启php-fpm
(注:swoole的./configure有很多额外参数,可以通过./configure --help命令查看,这里仅开启其中async-mysql项,其他均选择默认项) 这里是./configure编译配置的额外参数,用于开启某些特性
1.8.7或更高版本不再需要设置--enable-async-mysql和--enable-async-httpclient,async_mysql和async_httpclient改为内置
--enable-swoole-debug
打开调试日志,开启此选项后swoole将打印各类细节的调试日志。生产环境不要启用。
--enable-sockets
增加对sockets资源的支持,依赖sockets扩展。开启此参数,swoole_event_add就可以添加sockets扩展创建的连接到swoole的事件循环中。
--enable-async-mysql
增加异步mysql支持, 依赖mysqli和mysqlnd扩展。
--enable-async-redis
增加异步Redis客户端支持, 依赖hiredis库
--enable-async-httpclient
增加异步Http和WebSocket客户端支持
--enable-ringbuffer
开启RingBuffer内存池
此设置为试验性质,主要用于提升性能,生产环境请不要开启
--enable-openssl
启用SSL支持