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 開發工具提示包

相關文章
相關標籤/搜索