Linux
、FreeBSD
、MacOS
三种操作系统Windows
平台,可使用CygWin
或WSL(Windows Subsystem for Linux)
Linux
内核版本 2.3.32
以上gcc4.4
以上版本或者clang
4.x
版本起需要gcc-4.8
或更高版本, 编译失败请先尝试升级gcclibswoole.so
作为 C/C++
库时需要使用 cmake-2.4
或更高版本建议使用
Ubuntu14
、CentOS7
或更高版本的操作系统
Swoole-1.x
需要 PHP-5.3.10
或更高版本Swoole-2.x
需要 PHP-7.0.0
或更高版本Swoole-4.x
需要 PHP-7.1.0
或更高版本PHP
的 stream
、sockets
、pcntl
、posix
、sysvmsg
等扩展。PHP
只需安装最基本的扩展即可1.7.10
或更高版本GCC
交叉编译Swoole
时,需要手工修改 Makefile
去掉 -O2
编译参数swoole-1.7.7 增加了对 cygwin 环境的支持,在 Windows 环境下,可以直接使用 cygwin + php 来跑 swoole 程序。
cygwin 模式下需要对 PHP 进行简化,去掉不使用的扩展,避免进程占用内存过大,导致 Fork 操作失败
Windows 10 系统增加了 Linux 子系统支持,BashOnWindows 环境下也可以使用 swoole。安装命令
apt-get install php7.0 php7.0-curl php7.0-gd php7.0-gmp php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3 php7.0-tidy php7.0-xml php7.0-bcmath php7.0-bz2 php7.0-intl php7.0-mbstring php7.0-mcrypt php7.0-soap php7.0-xsl php7.0-zip
pecl install swoole
echo 'extension=swoole.so' >> /etc/php/7.0/mods-available/swoole.ini
cd /etc/php/7.0/cli/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini
cd /etc/php/7.0/fpm/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini
daemonize
选项config.h
关闭 HAVE_SIGNALFD
在 Windows
下开发可以使用 Hyper-V+Docker
来方便的开发 Swoole
应用,安装好 Docker
后再 Settings
里的 Shared Droves
选项里共享代码所在磁盘。然后使用如下命令来快速启动 Docker
容器。
docker run --rm -t -i --name myapp -p 9501:9501 -v e:/path/to:/app:rw xutongle/php:7.1-fpm /bin/bash
e:/path/to
为源码所在路径/app
为容器内路径bash
里执行 cd /app && php server.php