首页 > php框架 > Swoole > swoole编译失败怎么办

swoole编译失败怎么办

藏色散人
发布: 2020-04-10 09:06:37
原创
3133 人浏览过

swoole编译失败怎么办

swoole编译失败怎么办?

swoole编译安装过程遇到的问题

出现“perl: warning: Falling back to the standard locale (“C”).”等提示错误,如下:

1

2

3

4

5

6

7

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文件中加入如下内容

1

2

3

export LANGUAGE="en_US.UTF-8"

export:zh_CN.UTF-8

export LC_ALL=C

登录后复制

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

1

source /root/.bashrc

登录后复制

1

2

3

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++库。运行如下命令解决:

1

2

yum install glibc-headers

yum install gcc-c++

登录后复制

1

2

3

“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,首先安装依赖库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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服务:

1

2

3

4

5

6

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 不存在

1

2

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

 #include <hiredis/hiredis.h>

登录后复制

需要安装redis和hiredis服务。

安装redis:

1

2

3

4

5

6

7

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:

1

2

3

4

5

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

登录后复制

以上是swoole编译失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板