目錄
- 一、前言
- 二、Swoole 環境搭建
- 2.1 PHP Installation
- 2.2 Swoole Installation
- 2.3 開發工具提示包
一、前言
swoole是什么?官方是這樣解釋的:
PHP的異步、并行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端/客戶端。
Swoole雖然是標準的PHP擴展,實際上與普通的擴展不同。普通的擴展只是提供一個庫函數。而swoole擴展在運行后會接管PHP的控制權,進入事件循環。當IO事件發生后,swoole會自動回調指定的PHP函數。
以及學習swoole需要掌握的基礎知識:
- 熟練使用PHP語言
- 熟練使用MySQL、Redis數據庫
- 熟練使用Linux操作系統
- 基本了解Unix網絡編程相關知識(參閱《Unix網絡編程(卷1) 》 )
- 基本的gdb使用
官方文檔:https://wiki.swoole.com
二、Swoole 環境搭建
2.1 PHP Installation
編譯安裝PHP首先需要安裝對應的編譯工具和一些依賴包:
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
另外還需要將PHP的可執行目錄添加到環境變量中。在 ~/.bashrc 文件末尾添加內容:
export PATH=/usr/local/php/bin:$PATH
export PATH=/usr/local/php/sbin:$PATH
保存后執行命令:
2.2 Swoole Installation
Swoole擴展下載地址 可以下載源碼編譯安裝:
phpize
./configure
make
sudo make install
還可以通過 PECL 一鍵安裝:
安裝成功后,修改 php.ini 加入:
通過 php -m 或 phpinfo() 來查看是否成功加載了 swoole,如果沒有可能是 php.ini 的路徑不對,可以使用 php --ini 來定位到 php.ini 的絕對路徑。
2.3 開發工具提示包
- https://github.com/eaglewu/swoole-ide-helper
到此這篇關于PHP之Swoole學習安裝教程的文章就介紹到這了,更多相關PHP之Swoole學習安裝內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- windows系統php環境安裝swoole具體步驟
- php使用Swoole實現毫秒級定時任務的方法
- php使用goto實現自動重啟swoole、reactphp、workerman服務的代碼
- PHP用swoole+websocket和redis實現web一對一聊天
- PHP Swoole異步讀取、寫入文件操作示例