ホームページ  >  記事  >  PHPフレームワーク  >  swooleのコンパイルが失敗した場合の対処方法

swooleのコンパイルが失敗した場合の対処方法

藏色散人
藏色散人オリジナル
2020-04-10 09:06:373021ブラウズ

swooleのコンパイルが失敗した場合の対処方法

#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 <hiredis/hiredis.h>

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

以上がswooleのコンパイルが失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。