swoole擴展安裝

安裝步驟以下(推薦把安裝文件下載到 /usr/local/src 目錄下):php

一、拉取你想要安裝的版本包html

$wget --no-check-certificate https://github.com/swoole/swoole-src/archive/v1.9.12.tar.gz

注:找你想要的版本:https://github.com/swoole/swoole-src/releases linux

二、解包c++

$tar -zxvf v1.9.12-stable.tar.gz
$cd swoole-src-1.9.12-stable

三、編譯git

$phpize 
$./configure --with-php-config=/usr/local/php/bin/php-config

注:若是phpize出現錯誤「Cannot find autoconf. Please check your autoconf installation」;需安裝:github

$yum install m4
$yum install autoconf

四、安裝docker

$make && make install

五、配置生效
1)修改 php.ini ,加入 extension=swoole.so ,而後重啓 service php-fpm restart
2)執行 php --info | grep swoole 查看設置是否生效
 若是擴展沒有加載則檢查下php擴展目錄是否存在此擴展(目錄請根據實際安裝狀況自行修改,將擴展拷貝到相應php擴展目錄下),若是沒有則複製擴展到相應目錄便可:centos

$cp /usr/local/src/swoole-src-1.9.12-stable/modules/swoole.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226

--------------------------swoole

20190123升級4.2.12版本補充php-fpm

--------------------------

一、swoole4 以上版本編譯時gcc須要大於等於4.8版本,centos使用yum更新只能到4.4.7版本,因此須要進行手動編譯安裝gcc,可參考:

https://www.cnblogs.com/lzpong/p/5755678.html

二、gcc也升級好後,須要在進行替換系統當前gcc版本(這個比較坑,經過gcc -v顯示都已是新的了,但在編譯swoole時仍是提示gcc版本太低,後面經過如下處理,才成功)

// 倒數第三個是名字,倒數第二個參數爲新GCC路徑,最後一個參數40爲優先級
$update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 40
// 將本來的gcc重命名(刪除亦可)
$mv /usr/bin/gcc /usr/bin/gcc.bak 
// 使用gcc新版本
$ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc

三、升級gcc到高版本(大於4.8),將佔用系統很大空間(若是使用docker環境,很不划算,打包出來鏡像會比正常環境大不少),若是隻是想使用swoole4版本,又不想安裝gcc,可使用如下方式進行:

  1)將最新動態庫libstdc++.so.6.0.22複製到/usr/lib64目錄下(須要進行一次gcc升級獲得,)

$cd /usr/lib64

$cp /root/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./

#刪除原來軟鏈接:
$rm -rf libstdc++.so.6

#將默認庫的軟鏈接指向最新動態庫:
$ln -s libstdc++.so.6.0.22 libstdc++.so.6

檢查動態庫:

$strings /usr/lib64/libstdc++.so.6 | grep GLIBC

能夠看到 輸出有"GLIBCXX_3.4.22" 了

2)安裝swoole或將已有的swoole.so放到擴展目錄,重啓php-fpm便可

注:swoole4擴展資源可經過這個拉取:https://gitee.com/goodman/common.git 

相關文章
相關標籤/搜索