swoole编译失败的解决方法
创始人
2024-11-25 09:21:49
0次

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 

需要安装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

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...