Swoole学习

1、前言

swoole是什么?官方是这样解释的:php

PHP的异步、并行、高性能网络通讯引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库链接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。mysql

Swoole虽然是标准的PHP扩展,实际上与普通的扩展不一样。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。c++

以及学习swoole须要掌握的基础知识:git

  • 熟练使用PHP语言
  • 熟练使用MySQL、Redis数据库
  • 熟练使用Linux操做系统
  • 基本了解Unix网络编程相关知识(参阅《Unix网络编程(卷1) 》 )
  • 基本的gdb使用

官方文档:https://wiki.swoole.comgithub

2、Swoole 环境搭建

2.1 PHP Installation

编译安装PHP首先须要安装对应的编译工具和一些依赖包:sql

yum install libxml2 libxml2-devel curl curl-devel libpng-devel libjpeg-devel pcre-devel autoconf libmcrypt-devel gcc-c++

PHP下载地址 在这里挑选你想用的版本便可。下载源码包后,解压至本地任意目录(保证读写权限),参考以下命令编译安装PHP:数据库

./configure --prefix=/usr/local/php \
--with-config-file-path=/etc/php \
--enable-fpm \
--enable-pcntl \
--enable-mysqlnd \
--enable-opcache \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-zip \
--enable-soap \
--enable-xml \
--enable-mbstring \
--disable-rpath \
--disable-debug \
--disable-fileinfo \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pcre-regex \
--with-iconv \
--with-zlib \
--with-mcrypt \
--with-gd \
--with-openssl \
--with-mhash \
--with-xmlrpc \
--with-curl \
--with-imap-ssl
sudo make
sudo make install
sudo mkdir /etc/php
sudo cp php.ini-development /etc/php/php.ini
View Code

另外还须要将PHP的可执行目录添加到环境变量中。在 ~/.bashrc 文件末尾添加内容:编程

export PATH=/usr/local/php/bin:$PATH
export PATH=/usr/local/php/sbin:$PATH

保存后执行命令:bash

source ~/.bashrc

2.2 Swoole Installation

Swoole扩展下载地址 能够下载源码编译安装:服务器

phpize
./configure
make 
sudo make install

还能够经过 PECL 一键安装:

pecl install swoole

安装成功后,修改 php.ini 加入:

extension=swoole.so

经过  php -m  或  phpinfo()  来查看是否成功加载了 swoole,若是没有多是 php.ini 的路径不对,能够使用  php --ini  来定位到 php.ini 的绝对路径。

2.3 开发工具提示包

相关文章
相关标签/搜索