Maison  >  Article  >  développement back-end  >  Explication détaillée de l'année d'installation de PHP7 et génération de l'image Docker

Explication détaillée de l'année d'installation de PHP7 et génération de l'image Docker

墨辰丷
墨辰丷original
2018-05-22 15:54:251431parcourir

Cet article présente principalement php7 pour installer YAR et générer des images Docker. Les amis qui en ont besoin peuvent s'y référer

Docker contient trois concepts :

(1) Distant L'entrepôt est le lieu de rassemblement de toutes les images de la bibliothèque d'images distantes (non accessible pour l'exploitation).

(2) L'image locale est l'image extraite de l'entrepôt distant

(3) L'image locale qui s'exécute est appelée un conteneur (en couches et exploitable)

Utilisation de Docker :

1. Tout d'abord, extrayez les informations correspondantes telles que centos, ubuntu, tomcat, etc. via la bibliothèque d'images tierce (c.163.com) comme image de base. .

Docker pull xxxx

2. Exécutez l'image téléchargée.

Docker run -dt -p port hôte : port miroir --name donner un nom identifiant miroir/nom du miroir bash

-d s'exécute en arrière-plan
-t génère un pseudo terminal
-p spécifie le port
--name donne un nom au conteneur en cours d'exécution

3 Il existe deux façons d'entrer dans le conteneur

(1) docker exec -it. nom du conteneur/identifiant du conteneur bash (ctrl+d n'arrêtera pas le conteneur en cours d'exécution à la sortie)

(2) Docker attache le nom du conteneur/identifiant du conteneur (ctrl+d arrêtera le conteneur en cours d'exécution à la sortie)

4. Commencez à télécharger les outils correspondants et les packages de dépendances requis pour l'environnement de compilation

(1) yum installe wget et les outils compilés yum install -y wget gcc gcc-c++ make openssl-devel

(2) Mettre à jour la source yum nationale

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

(3) Télécharger différentes versions de la version nginx

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

(4) Télécharger pcre

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

Xxx représente la version sélectionnée

(5) Mettez à jour yum pour garantir la dernière

mise à jour de Yum

(6) Téléchargez php7

http:/ / php.net/downloads.php

Sélectionnez la version, sélectionnez le pays

(7) Collez tous les éléments téléchargés ci-dessus dans /usr/local/src et décompressez-les tous

(8) Compiler nginx

(1) Créer un utilisateur nginx

 groupadd -r nginx
useradd -r -g nginx nginx

(2) Compiler et installer 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) Compiler php

(1) Préparer le package de dépendances php

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) Entrez le répertoire du fichier php

(3) Commencez à compiler php

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

Remarque : Si s'il y a un problème, signalez-le vous-même Baidu.

(4) make && make install

(5) Préparer le fichier de configuration php

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

(6) Modifiez le fichier de configuration

 ; supprimez le commentaire de daemonize = yes, et remplacez yes par no

(7) Installez l'extension yar

(1) Installez le packaging binaire protocol msgpack

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

Remarque : en cas de problème, veuillez vous référer à Baidu

(2) Téléchargez yar wget http:/ /pecl.php.net/get/ xxx

Xxx signifie qu'il est très important de confirmer la version et de la comparer avec la version php.

(3) Décompressez et compilez 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) Si le module n'est pas installé, vous pouvez vérifier l'ajustement relatif du chemin ini avec php --ini

(9) docker commit - m "Description" -a "Auteur" identifiant du conteneur informations d'entrepôt mydocker/nginx : informations de version v1

(10) docker save xxx > tar

(11)Dockerload xxx

Si une erreur est signalée pendant le processus de compilation et d'installation, suivez les invites d'erreur pour utiliser yum pour résoudre les dépendances si le yum actuel ; source ne peut pas résoudre la dépendance, vous pouvez essayer :

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

Recommandations associées :

php7Comment installer yar extension

Analyse complète de php7Comment installer yar extension

Qu'est-ce que le filn ? Comment yarn remplace-t-il npm pour gérer les dépendances des modules de projet front-end ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn