Heim  >  Artikel  >  PHP-Framework  >  Was tun, wenn die Swoole-Kompilierung fehlschlägt?

Was tun, wenn die Swoole-Kompilierung fehlschlägt?

藏色散人
藏色散人Original
2020-04-10 09:06:373021Durchsuche

Was tun, wenn die Swoole-Kompilierung fehlschlägt?

swooleWas soll ich tun, wenn die Kompilierung fehlschlägt?

Während des Swoole-Kompilierungs- und Installationsprozesses sind Fehler wie „perl: warning: Falling back to the standard locale („C“)“ aufgetreten:

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").

Lösung:

Fügen Sie den folgenden Inhalt zur ~/.bashrc-Datei hinzu

export LANGUAGE="en_US.UTF-8"
export:zh_CN.UTF-8
export LC_ALL=C

Führen Sie dann den folgenden Befehl aus, um ihn wirksam zu machen:

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

Die Ursache des Problems liegt darin, dass erforderliche C++-Bibliotheken fehlen. Führen Sie den folgenden Befehl aus, um das Problem zu lösen:

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."

Need to install nghttp2, installiere zuerst die abhängige Bibliothek

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

Install nghttp2 service:

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 is not exist

/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- und Hiredis-Dienste müssen installiert werden.

Redis installieren:

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 installieren:

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

Das obige ist der detaillierte Inhalt vonWas tun, wenn die Swoole-Kompilierung fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Kann Swoole Port 80 verwenden?Nächster Artikel:Kann Swoole Port 80 verwenden?