ubuntu下安裝swoole4.0.4

安裝swoole4.0前的工作

-安裝nghttp2

1.安裝http2

a.下載 nghttp2
, 解壓 sudo tar -zxvf nghttp2-1.32.0.tar.xz

b.進(jìn)入目錄 nghttp2-1.32.0

sudo ./configure

sudo make && make install

-安裝hiredis
2.安裝hiredis
a.下載hiredis 解壓 sudo tar -zxvf hiredis-0.13.3.tar.gz
b.進(jìn)入目錄hiredis-0.13.3,執(zhí)行 sudo make -j && sudo make install

3.下載swoole包

git clone https://github.com/swoole/swoole-src.git

ps:安裝swoole-4.0.0等幾個(gè)低版本,安裝回報(bào) php_socket 的語法錯(cuò)誤,為保險(xiǎn)起見,建議下載最新的包,路徑如下:

https://github.com/swoole/swoole-src/releases

下載最新的包,解壓之后,進(jìn)入到swoole目錄中
4、進(jìn)入到swoole項(xiàng)目目錄

cd swoole-src

5、檢查項(xiàng)
a.查看phpinfo 找到php.ini 的位置

我自己的是/etc/php/7.2/fpm/php.ini
注意 如果環(huán)境上有多個(gè)PHP 版本,尤其要注意。
然后你再運(yùn)行

php -i|grep php.ini

顯示結(jié)果

Configuration File (php.ini) Path => /etc/php/7.2/cli
Loaded Configuration File => /etc/php/7.2/cli/php.ini

b.運(yùn)行whereis phpize。找到phpize的位置

whereis phpize

運(yùn)行結(jié)果:

phpize: /usr/bin/phpize7.1 /usr/bin/phpize /usr/bin/phpize5.6 /usr/bin/phpize7.0 

/usr/bin/phpize7.2 /usr/share/man/man1/phpize.1.gz

所以環(huán)境有多個(gè)PHP版本的時(shí)候要注意,自己的環(huán)境加載的是哪個(gè)版本的PHP,我的環(huán)境是加載的php7.2 所以后續(xù)的swoole編譯和安裝都和php7.2這個(gè)版本有關(guān)。

6、在swoole目錄中 運(yùn)行 phpize

 cd swoole-src

因?yàn)樵诓襟E5中,我的環(huán)境的PHP加載的是PHP7.2 所以運(yùn)行如下命令

/usr/bin/phpize7.2

7、運(yùn)行 ./configure
注意運(yùn)行前需要知道自己php-config的位置

whereis php-config

php-config: /usr/bin/php-config7.1 /usr/bin/php-config7.0 /usr/bin/php-config7.2 /usr/bin/php-config /usr/bin/php-config5.6 /usr/share/man/man1/php-config.1.gz

因?yàn)樵诓襟E5中,我的環(huán)境的PHP加載的是PHP7.2 所以運(yùn)行如下命令

./configure --with-php-config=/usr/bin/php-config7.2 --enable-openssl --enable-http2 --enable-async-redis --enable-sockets  --enable-mysqlnd

8、make && make install

make && make install

9、配置swoole.so

主要是在php.ini 上加一個(gè)extension=swoole.so

本人環(huán)境使用php所在目錄是:
/etc/php/7.2
注意,要在cli 和fpm兩個(gè)地方都加擴(kuò)展
方式a、
/etc/php/7.2/cli/conf.d
/etc/php/7.2/fpm/conf.d
在這兩個(gè)目錄新新建一個(gè)swoole.ini的文件
文件內(nèi)容如下:

; Enbale swoole extension module
extension=swoole.so

方式b、
或者在對應(yīng)的php.ini 加上swoole.ini的擴(kuò)展。同樣也是cli 和 fpm 兩個(gè)目錄下的php.ini
兩種方式都可以,建議方式a
10、查看安裝結(jié)果

php -m | grep swoole

如果有swoole 則表示安裝成功
如果報(bào)錯(cuò),并報(bào)hiredis 沒找到 則還需要做以下操作:
a.方案1:

vi ~/.bash_profile

在最后一行添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

最后再運(yùn)行

 source ~/.bash_profile

b.方案b

echo '/usr/local/lib' >> /etc/ld.so.conf
ldconfig

最后
如果phpInfo 和 php -m 都有swoole 表示安裝成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容