非常教程

Swoole教程

Swoole 教程

Swoole 环境依赖

  • 仅支持Linux,FreeBSD,MacOS,3类操作系统
  • Linux内核版本2.3.32以上
  • PHP5.3.10以上版本,包括PHP7
  • gcc4.4以上版本或者clang
  • cmake2.4+,编译为libswoole.so作为C/C++库时需要使用cmake

PHP版本依赖

  • swoole仅支持PHP5.3.10或更高版本,建议使用PHP5.4+
  • swoole不依赖php的stream、sockets、pcntl、posix、sysvmsg等扩展。PHP只需安装最基本的扩展即可

推荐使用的Linux发行版

  • CentOS6.2+
  • Ubuntu12+
  • Debian6+

ARM平台(树莓派Raspberry PI)

  • 请使用swoole-1.7.10或更高版本
  • 使用GCC交叉编译
  • 在编译Swoole时,需要手工修改Makefile去掉-O2编译参数

MIPS平台(OpenWrt路由器)

  • 请使用swoole-1.7.21或更高版本
  • 使用GCC交叉编译

CygWin环境支持(Windows系统)

swoole-1.7.7增加了对cygwin环境的支持,在Windows环境下,可以直接使用cygwin + php 来跑swoole程序。

  • 安装cygwin,并安装gcc、make、autoconf、php 4个包
  • 下载swoole源码,在cygwin-shell中进行phpize/configure/make/make install
  • 修改php.ini,加入swoole.so

cygwin模式下需要对PHP进行简化,去掉不使用的扩展,避免进程占用内存过大,导致Fork操作失败

BashOnWindows

Windows 10系统增加了Linux子系统支持,BashOnWindows环境下也可以使用swoole

  • BashOnWindows环境下必须关闭daemonize选项
Swoole

Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于epoll/kqueue事件循环,是全异步非阻塞的;业务逻辑部分使用多进程同步阻塞方式来运行,这样既保证了Server能够应对高并发和大量TCP连接,又保证业务代码仍然可以简单的编写。Swoole与Node.js相比更强大,支持同步/异步、多进程并行,Swoole提供了进程生命周期管理、内存保护机制,开发者无需考虑底层细节,专注于业务逻辑和功能的开发。

主页 https://www.swoole.com/
源码 https://github.com/swoole/swoole-src

Swoole目录

1. Swoole 教程
2.Swoole实例