Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung des PHP7-Installationsjahrs und der Generierung des Docker-Images

Ausführliche Erklärung des PHP7-Installationsjahrs und der Generierung des Docker-Images

墨辰丷
墨辰丷Original
2018-05-22 15:54:251484Durchsuche

Dieser Artikel stellt hauptsächlich PHP7 vor, um YAR zu installieren und Docker-Bilder zu generieren.

Docker enthält drei Konzepte:

(1) Remote Das Lager ist der Sammelpunkt für alle Bilder in der Remote-Bildbibliothek (für den Betrieb nicht zugänglich).

(2) Das lokale Image ist das aus dem Remote-Warehouse abgerufene Image

(3) Das lokale Image, das ausgeführt wird, wird als Container (geschichtet und bedienbar)

Docker-Nutzung:

1. Ziehen Sie zunächst die entsprechenden Informationen wie Centos, Ubuntu, Tomcat usw. als Basisbild über die Bildbibliothek eines Drittanbieters (c.163.com). .

Docker pull xxxx

2. Führen Sie das heruntergeladene Image aus.

Docker run -dt -p host port: Mirror port --name Geben Sie einen Namen an, Mirror-ID/Spiegelname bash

-d im Hintergrund ausführen

-t ein Pseudo-Terminal generieren
-p gibt den Port an
--name gibt dem laufenden Container einen Namen

3. Es gibt zwei Möglichkeiten, den Container einzugeben

(1) docker exec -it Containername/Container-ID-Bash (Strg+D stoppt den laufenden Container beim Beenden nicht)

(2) Docker fügt Containernamen/Container-ID an (Strg+D stoppt den laufenden Container beim Beenden)

4. Beginnen Sie mit dem Herunterladen der entsprechenden Tools und erforderlichen Abhängigkeitspakete, die für die Kompilierungsumgebung erforderlich sind

(1) yum installiert wget und die kompilierten Tools yum install -y wget gcc gcc-c++ make openssl-devel

(2) Inländische Yum-Quelle aktualisieren

Wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/xxx/
Xxx表示你要选择的yum源
-O 下载并以不同的文件名保存
CentOS-Base.repo 表示命名的yum源

(3) Verschiedene Versionen der Nginx-Version herunterladen

Wget http://nginx.org/download/xxx
Xxx表示你要选择的nginx的版本

(4) pcre herunterladen

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/xxx

Xxx bedeutet Ausgewählte Version

(5) Yum aktualisieren, um das neueste sicherzustellen

Yum-Update

(6) PHP7 herunterladen

http://php.net/ downloads.php

Version auswählen, Land auswählen

(7) Alle oben heruntergeladenen Dinge in /usr/local/src einfügen und alle entpacken

(8) Kompilieren nginx

(1) Nginx-Benutzer erstellen

 groupadd -r nginx
useradd -r -g nginx nginx

(2) Nginx

cd xxx 切换到您的nginx目录
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37
./configure参数说明:
--prefix=指定文件的安装目录
--user=指定用户
--group指定用户组
--with-使用已有的软件包和库文件
Make && make install 出现问题自行百度
echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf #在nginx的配置文件里加上这一行很关键,这样nginx可以在docker启动的时候在后台运行!

(9) PHP kompilieren

(1) PHP-Abhängigkeitspaket vorbereiten

yum install -y bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel

(2) PHP eingeben Dateiverzeichnis

(3) PHP-Kompilierung starten

./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv

Hinweis: Bei Problemen wenden Sie sich bitte an Baidu.

(4) make && make install

(5) PHP-Konfigurationsdatei vorbereiten

cp php.ini-production /etc/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

(6) Konfiguration ändern Datei

; Entfernen Sie den Kommentar von daemonize = ja und ändern Sie „Ja“ in „Nein“ (7) Installieren Sie die Yar-Erweiterung

(1) Installieren Sie das Binärpaketprotokoll msgpack

find / -name phpize 查找phpize是否存在
yum install php-devel 
pecl install msgpack

Hinweis: Wenn es ein Problem gibt, gehen Sie zu Baidu

(2) Laden Sie yar wget herunter http://pecl.php.net/get /xxx

Xxx bedeutet, dass es sehr wichtig ist, die Version zu bestätigen und mit der PHP-Version zu vergleichen.

(3) Entpacken und kompilieren Sie tar -zxvf yar-2.0.0.tgz

(4) cd cd yar-2.0.0


( 5)/usr/bin/phpize


(6)./configure --with-php-config=/usr/bin/php-config7.0*


(7) make && make install


(8) Wenn das Modul nicht installiert ist, können Sie die relative Anpassung des INI-Pfads mit php --ini


(9) docker commit - m „Description“ -a „Author“ Container-ID-Warehouse-Informationen mydocker/nginx: Versionsinformationen v1


(10) docker save xxx > tar


(11)Docker Load xxx

Wenn während des Kompilierungs- und Installationsprozesses ein Fehler gemeldet wird, befolgen Sie die Fehlermeldungen, um yum zum Auflösen der Abhängigkeiten zu verwenden, wenn das aktuelle yum source die Abhängigkeit nicht lösen kann, können Sie es versuchen:

 wget http://www.atomicorp.com/installers/atomic
    chmod +x atomic
    ./atomic 
    yum install -y XXX XXX

Verwandte Empfehlungen:

php7

So installieren Sie yar

Erweiterung

Umfassende Analyse von PHP7So installieren Sie die Yar
Erweiterung

Was ist Yar
n? Wie ersetzt

yar

n npm, um Front-End-Projektmodulabhängigkeiten zu verwalten?

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des PHP7-Installationsjahrs und der Generierung des Docker-Images. 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