PHP8编译swoole,swoole编译失败怎么办

6d5f922e48f3655218255c61f5d8d819.png

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/.bashrcconfigure: 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值