Swoole是面向生产环境的 PHP 异步网络通信引擎,官网:https://www.swoole.com/
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发 HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。
Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。
了解了Swoole的强大之后,我们是不是想体验一下呢?下面来下载安装吧~
环境:CentOS6.4+PHP7
一、下载安装
下载页https://gitee.com/swoole/swoole/tree/v2.1.1,下载后是一个zip包,习惯下载到/usr/local/src目录下
# unzip swoole-src-2.1.1.zip //解压
# cd swoole-src-2.1.1 //进入目录
# phpize //然后使用phpize重新编译php
# # ./configure --with-php-config=/usr/local/php/bin/php-config //进行配置
# make && make install //编译安装
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/ //复制此行代码,粘贴到php.ini配置开启扩展
Installing header files: /usr/local/php/include/php/
二、开启php扩展
# vim /usr/local/php/etc/php.ini //将下行代码放入php.ini
;extension=xsl
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/swoole.so //此行代码
# service php-fpm restart //重启
查看PHPinfo
OK~