swoole是什么荣茫?
? ? 1 C語言編寫的擴(kuò)展
? ? 2 異步,并行联逻,高性能的網(wǎng)絡(luò)通信引擎
準(zhǔn)備工作
? ? linux環(huán)境下開發(fā)
? ? php7? ?swoole2.1? redius
? ? 安裝php7源碼包? 安裝swoole源碼包
源碼安裝swoole ?
? ? ? ? 1? ?官網(wǎng)https://www.swoole.com/ 下載
? ? ? ? ? ? ?wget? https://github.com/swoole/swoole-src/archive/v4.0.1.tar.gz
? ? ? ? ? ?(這里應(yīng)該下載官方4.0以上版本魁袜,如果采取git?clone下載壓縮包,在編譯的時(shí)候容易出現(xiàn)錯(cuò)誤:
?????????????recipe for target? ?'swoole_http_server.lo' failed make: *** [swoole_http_server.lo] Error 1)
? ? ? ? 2? ?按步驟來說雷绢,安裝源碼包需要configure (配置),make(編譯)厚脉,make install(安裝)
? ? ? ? ? ? ?但是咱們目前下載的swoole包是沒有configure文件的习寸,這時(shí)候就需要php自帶的一個(gè)工具:phpize? 生成configure文件
? ? ? ? ? ? ?在swoole文件夾下 調(diào)用phpize,生成configure文件
? ? ? ? ? ? ? /home/work/study/soft/php/bin/phpize
? ? ? ? 注意:明哥安裝到這里出現(xiàn)的問題:系統(tǒng)提示autoconf未找到傻工,這里附上解決措施一篇
????????????????wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
? ? ? ? ? ? ? ? tar -zvxf m4-1.4.9.tar.gz
????????????????cd m4-1.4.9/
????????????????./configure && make && make install
????????????????cd ../
????????????????wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
????????????????tar -zvxf autoconf-2.62.tar.gz
????????????????cd autoconf-2.62/
????????????????./configure && make && make install
? ? ? ?3? ? ./configure --with-php-config=/home/work/study/soft/php/bin/php-config ? ?(指向安裝的php7)
? ? ? ?4? ? ?make && ?make install
PHP7支持swoole
? ? ? 1? ?我們安裝好了php7也安裝好了swoole霞溪,當(dāng)我們打開使用php執(zhí)行swoole/examples/echo.php時(shí)卻發(fā)現(xiàn)?
????????????Class 'swoole_server' not found in /home/swoole-src-4.0.0/examples/server/echo.php:2??
?????????????這是因?yàn)楫?dāng)php運(yùn)行擴(kuò)展的時(shí)候孵滞,需要在php.ini文件進(jìn)行配置。
? ? ? ? ????這里明哥首先需要說明的是鸯匹,如果你的php是編譯安裝的坊饶,那么默認(rèn)是沒有php.ini的,你必須自行去源碼包里邊拷貝殴蓬。把配置文件放到php指定的配置文件路徑中
? ? ? ? (1)? vi? phpinfo.php? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<?php? ?phoinfo()? ?>
? ? ? (2)php phpinfo.php | grep php.ini? ? ? ? 可見php.ini文件路徑指向到 /home/work/study/soft/php/lib
? ? ? ? (3)? 將源碼包中的php.ini-development 移動(dòng)到指向路徑中匿级,并改名
????????????cp php.ini-development? ? /home/work/study/soft/php/lib/
? ? ?2? 在php.ini文件中加上swoole擴(kuò)展
? ? ? ? ????extension=?swoole
? ? ? ? ? ? php -m 后發(fā)現(xiàn),出現(xiàn)擴(kuò)展中已經(jīng)出現(xiàn)swoole
? ? ?3? 找到swoole/examples/server/echo.php (swoole默認(rèn)占用9501端口)
? ? ? ? ? ? (1)運(yùn)行echo.php文件? (php echo.php )?
? ? ? ? ? ? (2)檢測9501端口是否被占用? netstat? -anp | grep 9501? 或者 lsof -i:端口號(hào)?