ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 环境依赖 * 仅支持 `Linux`、`FreeBSD`、`MacOS` 三种操作系统 * 在`Windows`平台,可使用`CygWin`或`WSL(Windows Subsystem for Linux)` * `Linux` 内核版本 `2.3.32` 以上 * `gcc4.4` 以上版本或者`clang` * **`4.x`版本起需要`gcc-4.8`或更高版本, 编译失败请先尝试升级gcc** * 编译为 `libswoole.so` 作为 `C/C++` 库时需要使用 `cmake-2.4` 或更高版本 > 建议使用 `Ubuntu14`、`CentOS7` 或更高版本的操作系统 PHP版本依赖 ---------- * `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` 只需安装最基本的扩展即可 ARM平台(树莓派Raspberry PI) -------------------- * 请使用 `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。安装命令 ``` 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 ``` * BashOnWindows 环境下必须关闭 `daemonize` 选项 * 需要修改 `config.h` 关闭 `HAVE_SIGNALFD` DockerOnWindows --------------- 在 `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`