广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买
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-8export LC_ALL=C登录后复制
然后执行如下命令使其生效:
source /root/.bashrc登录后复制
configure: error: C++ preprocessor “/lib/cpp” fails sanity checkconfigure: error: in `/wwwroot/swoole-4.2.5':configure: error: C++ preprocessor "/lib/cpp" fails sanity check登录后复制
问题的根源是缺少必要的C++库。运行如下命令解决:
yum install glibc-headersyum 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-develwget https://c-ares.haxx.se/download/c-ares-1.12.0.tar.gz -O /tmp/c-ares.tar.gzmkdir -p /tmp/c-arestar -zxvf /tmp/c-ares.tar.gz -C /tmp/c-ares --strip-components=1cd /tmp/c-ares && ./configure --libdir=/usr/lib64makesudo make installwget http://www.digip.org/jansson/releases/jansson-2.9.tar.gz -O /tmp/jansson.tar.gzmkdir -p /tmp/janssontar -zxvf /tmp/jansson.tar.gz -C /tmp/jansson --strip-components=1cd /tmp/jansson && ./configure --libdir=/usr/lib64makemake checksudo make inst登录后复制
安装nghttp2服务:
wget https://github.com/nghttp2/nghttp2/releases/download/v1.19.0/nghttp2-1.19.0.tar.gz -O /tmp/nghttp2.tar.gzmkdir -p /tmp/nghttp2tar -zxvf /tmp/nghttp2.tar.gz -C /tmp/nghttp2 --strip-components=1cd /tmp/nghttp2 && ./configure --enable-appmakesudo 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.h>登录后复制
需要安装redis和hiredis服务。
安装redis:
yum -y install tclwget http://download.redis.io/releases/redis-3.0.7.tar.gztar xzf redis-3.0.7.tar.gz cd redis-3.0.7makemake testmake install登录后复制
安装hiredis:
export LANGUAGE="en_US.UTF-8"export:zh_CN.UTF-8export LC_ALL=C0登录后复制
以上就是swoole编译失败怎么办的详细内容,更多请关注9543建站博客其它相关文章!
发表评论