項(xiàng)目中使用的PHP,但由于長(zhǎng)耗時(shí)的任務(wù),前端提交以后,需要服務(wù)端異步響應(yīng)。
服務(wù)器異步有多種方案,包括MQ,fsocket,Swoole等。 (推薦學(xué)習(xí): swoole視頻教程)
Swoole 使用純 C 語(yǔ)言編寫(xiě),提供了 PHP 語(yǔ)言的異步多線程服務(wù)器,異步 TCP/UDP 網(wǎng)絡(luò)客戶(hù)端,異步 MySQL,異步 Redis,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫(xiě),異步DNS查詢(xún)。
Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶(hù)端、Http2.0服務(wù)器端。
最重要的是,完美支持PHP語(yǔ)言。于是使用Swoole搭建了一個(gè)異步服務(wù)器,提供異步響應(yīng),推送,定時(shí)任務(wù)等一系列工作。
Swoole是C語(yǔ)言編寫(xiě),采用編譯安裝的方式。
安裝依賴(lài)項(xiàng)有:
php-5.3.10 或更高版本 gcc-4.4 或更高版本 make autoconf pcre (centos系統(tǒng)可以執(zhí)行命令:yum install pcre-devel)
安裝方式:
phpize #如果命令不存在 請(qǐng)?jiān)谇懊婕由蟨hp的實(shí)際路徑
./configure make sudo make install
編譯完成以后,需要在php.ini中添加擴(kuò)展
extension=swoole.so