swoole編譯失敗怎么辦

swoole編譯失敗怎么辦

swoole編譯失敗怎么辦?

swoole編譯安裝過程遇到的問題

出現“perl: warning: Falling back to the standard locale (“C”).”等提示錯誤,如下:

perl:?warning:?Setting?locale?failed.       perl:?warning:?Please?check?that?your?locale?settings: ????????      LANGUAGE?=?"en_US.UTF-8", ????????      LC_ALL?=?"", ????????      LANG?=?"AMERICAN_AMERICA.UTF-8" ????    are?supported?and?installed?on?your?system.      ?perl:?warning:?Falling?back?to?the?standard?locale?("C").

解決辦法:

在~/.bashrc文件中加入如下內容

export?LANGUAGE="en_US.UTF-8" export:zh_CN.UTF-8 export?LC_ALL=C

然后執行如下命令使其生效:

source?/root/.bashrc
configure:?error:?C++?preprocessor?“/lib/cpp”?fails?sanity?check configure:?error:?in?`/wwwroot/swoole-4.2.5': configure:?error:?C++?preprocessor?"/lib/cpp"?fails?sanity?check

問題的根源是缺少必要的C++庫。運行如下命令解決:

yum?install?glibc-headers yum?install?gcc-c++
“Enable?http2?support,?require?nghttp2?library”?錯誤 /wwwroot/swoole-4.2.5/php_swoole.h:142:2:?error:?#error?"Enable?http2?support,?require?nghttp2?library." ?#error?"Enable?http2?support,?require?nghttp2?library."

需要安裝nghttp2,首先安裝依賴庫

sudo?yum?-y?groupinstall?"Development?Tools" sudo?yum?-y?install?openssl-devel?libxml2-devel?libev-devel?jemalloc-devel?python-devel wget?https://c-ares.haxx.se/download/c-ares-1.12.0.tar.gz?-O?/tmp/c-ares.tar.gz mkdir?-p?/tmp/c-ares tar?-zxvf?/tmp/c-ares.tar.gz?-C?/tmp/c-ares?--strip-components=1 cd?/tmp/c-ares?&&?./configure?--libdir=/usr/lib64 make sudo?make?install wget?http://www.digip.org/jansson/releases/jansson-2.9.tar.gz?-O?/tmp/jansson.tar.gz mkdir?-p?/tmp/jansson tar?-zxvf?/tmp/jansson.tar.gz?-C?/tmp/jansson?--strip-components=1 cd?/tmp/jansson?&&?./configure?--libdir=/usr/lib64 make make?check sudo?make?inst

安裝nghttp2服務:

wget?https://github.com/nghttp2/nghttp2/releases/download/v1.19.0/nghttp2-1.19.0.tar.gz?-O?/tmp/nghttp2.tar.gz mkdir?-p?/tmp/nghttp2 tar?-zxvf?/tmp/nghttp2.tar.gz?-C?/tmp/nghttp2?--strip-components=1 cd?/tmp/nghttp2?&&?./configure?--enable-app make sudo?make?install

hiredis 不存在

/wwwroot/swoole-4.2.5/swoole_redis.c:20:29:?fatal?error:?hiredis/hiredis.h:?No?such?file?or?directory ?#include?<hiredis></hiredis>

需要安裝redis和hiredis服務。

安裝redis:

yum?-y?install?tcl wget?http://download.redis.io/releases/redis-3.0.7.tar.gz tar?xzf?redis-3.0.7.tar.gz? cd?redis-3.0.7 make make?test make?install

安裝hiredis:

wget?https://github.com/redis/hiredis/archive/v0.14.0.tar.gz tar?xzf??v0.14.0.tar.gz cd?hiredis-0.14.0/ make make?install

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享