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 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:
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:
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:
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:
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:
tar xzf v0.14.0.tar.gz
cd hiredis-0.14.0/
make
make install
|
登录后复制
以上是swoole编译失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!