一、前言
swoole是什么?官方是這樣解釋的:
PHP的異步、并行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端/客戶端。
Swoole雖然是標準的PHP擴展,實際上與普通的擴展不同。普通的擴展只是提供一個庫函數。而swoole擴展在運行后會接管PHP的控制權,進入事件循環(huán)。當IO事件發(fā)生后,swoole會自動回調指定的PHP函數。
以及學習swoole需要掌握的基礎知識:
- 熟練使用PHP語言
- 熟練使用MySQL、Redis數據庫
- 熟練使用Linux操作系統(tǒng)
- 基本了解Unix網絡編程相關知識(參閱《Unix網絡編程(卷1) 》 )
- 基本的gdb使用
二、Swoole 環(huán)境搭建
2.1 PHP Installation
編譯安裝PHP首先需要安裝對應的編譯工具和一些依賴包:
1
|
yum install libxml2 libxml2-devel curl curl-devel libpng-devel libjpeg-devel pcre-devel autoconf libmcrypt-devel gcc-c++ |
PHP下載地址 在這里挑選你想用的版本即可。下載源碼包后,解壓至本地任意目錄(保證讀寫權限),參考如下命令編譯安裝PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
./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 |
另外還需要將PHP的可執(zhí)行目錄添加到環(huán)境變量中。在 ~/.bashrc 文件末尾添加內容:
1
2
|
export PATH=/usr/local/php/bin:$PATH export PATH=/usr/local/php/sbin:$PATH |
保存后執(zhí)行命令:
1
|
source ~/.bashrc |
2.2 Swoole Installation
Swoole擴展下載地址 可以下載源碼編譯安裝:
1
2
3
4
|
phpize ./configure make sudo make install |
還可以通過 PECL 一鍵安裝:
1
|
pecl install swoole |
安裝成功后,修改 php.ini 加入:
1
|
extension=swoole.so |
通過 php -m 或 phpinfo() 來查看是否成功加載了 swoole,如果沒有可能是 php.ini 的路徑不對,可以使用 php --ini 來定位到 php.ini 的絕對路徑。
2.3 開發(fā)工具提示包
到此這篇關于PHP之Swoole學習安裝教程的文章就介紹到這了,更多相關PHP之Swoole學習安裝內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/tangxuliang/p/9407030.html