Maison > développement back-end > tutoriel php > Explication détaillée du php multi-version nginx

Explication détaillée du php multi-version nginx

小云云
Libérer: 2023-03-21 07:32:01
original
2443 Les gens l'ont consulté

Cet article partage principalement avec vous le php multi-version de nginx. Cet article vous apprend principalement les étapes d'installation et espère vous aider.

Télécharger le site officiel de php7.2 tar -xzvf...

Installez tout ce dont vous avez besoin avec peu de dépendances

yum -y install readline-devel libxslt libxslt-devel./configure --prefix=/usr/local/php72 \--exec-prefix=/usr/local/php72 \--with-config-file-path=/usr/local/php72/etc \--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--enable-soap \--with-libxml-dir \--with-xmlrpc \--with-openssl \--with-mhash \--with-pcre-regex \--with-sqlite3 \--with-zlib \--enable-bcmath \--with-iconv \--with-bz2 \--enable-calendar \--with-curl \--with-cdb \--enable-dom \--enable-exif \--enable-fileinfo \--enable-filter \--with-pcre-dir \--enable-ftp \--with-gd \--with-openssl-dir \--with-jpeg-dir \--with-png-dir \--with-zlib-dir \--with-freetype-dir \--enable-gd-jis-conv \--with-gettext \--with-gmp \--with-mhash \--enable-json \--enable-mbstring \--enable-mbregex \--enable-mbregex-backtrack \--with-libmbfl \--with-onig \--enable-pdo \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-zlib-dir \--with-pdo-sqlite \--with-readline \--enable-session \--enable-shmop \--enable-simplexml \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--with-libxml-dir \--with-xsl \--enable-zip \--enable-mysqlnd-compression-support \--with-pear \--enable-opcache
Copier après la connexion

Compiler et installer

make ZEND_EXTRA_LIBS='-liconv' && make install
Copier après la connexion

Copier les fichiers associés

cp php.ini-production /usr/local/php72/etc/php.inicp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.confcp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.confcp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm72cp sapi/fpm/init.d.php-fpm /usr/local/php72/bin/php-fpm72chmod +x /etc/init.d/php-fpm72
Copier après la connexion

Configurer l'alias

mkdir /usr/local/php72/bin/72cp /usr/local/php72/bin/php /usr/local/php72/bin/72/php72cp /usr/local/php72/bin/pecl /usr/local/php72/bin/72/pecl72cp /usr/local/php72/bin/php-cgi /usr/local/php72/bin/72/php-cgi72cp /usr/local/php72/bin/php-config /usr/local/php72/bin/72/php-config72cp /usr/local/php72/bin/phpize /usr/local/php72/bin/72/phpize72
Copier après la connexion

Ajouter aux variables d'environnement

vim /etc/profilePATH=$PATH:/usr/local/php72/bin/72export PATH
Copier après la connexion

Rendre les modifications effectives

source /etc/profile
Copier après la connexion

Modifier le fichier de configuration pecl correspondant

pecl72 config-set php_ini /usr/local/php72/etc/php.ini  # 发现配置不生效
Copier après la connexion

~/.pearrc est le fichier cache du fichier de configuration de pecl, et php_ini est la valeur qui prendra effet si l'élément php.ini est automatiquement modifié après l'installation de l'extension

Installer l'extension swoole

pecl72 install swoole
Copier après la connexion

Installer l'extension memcached

yum install -y libmemcached-devel libmemcachedpecl72 install memcached输入 libmemcached-dir/usr
Copier après la connexion

Installer l'extension d'événement

pecl72 install event    # 全部默认值
Copier après la connexion

Installer l'extension mongodb

pecl72 install mongodb
Copier après la connexion

Installer l'extension rdkafka

pecl72 install rdkafka
Copier après la connexion

Installez l'extension redis

pecl72 install redis# 会问是否开启压缩, 建议不开启 回车默认值
Copier après la connexion

Installez l'extension mcrypt ; car php7.2 a supprimé mcrypt du package principal, la bibliothèque mcrypt n'a pas été mise à jour pour depuis longtemps et la recommandation officielle est d'utiliser

pecl72 install channel://pecl.php.net/mcrypt-1.0.1  # 回车默认值
Copier après la connexion

Installer trie_filter.so d'open_ssl pour filtrer le vocabulaire sensible

# 依赖 libdatrie 库 需要提前安装# 参考# https://github.com/zzjin/php-ext-trie-filter/tree/php7# 注意 phpize ---> phpize72; --with-php-config=/usr/local/php72/bin/php-configphpize72./configure --with-php-config=/usr/local/php72/bin/php-configmake && make install# 修改对应的 php.ini 添加 extension="trie_filter.so"
Copier après la connexion

Vérifiez s'il y a des erreurs et que les modules sont installés correctement

php72 -m
Copier après la connexion

Modifiez le fichier de configuration www.conf sous /usr/local/php72/etc/php-fpm.d

大概 36 行listen = /tmp/php-cgi72.sock
Copier après la connexion

Démarrez php-fpm72

/etc/init.d/php-fpm72 start
Copier après la connexion

Configurez php-fpm72 pour qu'il démarre automatiquement au démarrage

chkconfig --add php-fpm72chkconfig php-fpm72 onchkconfig # 检查一下
Copier après la connexion

Ajoutez activate-php72.conf au dossier nginx conf avec le contenu suivant

location ~ [^/]\.php(/|$){fastcgi_index index.php;fastcgi_pass unix:/tmp/php-cgi72.sock;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
Copier après la connexion

nginx -t ok nginx reload

Modifier les autorisations et les propriétaires de groupes de php-cgi72.sock

chmod 755 /tmp/php-cgi72.sockchown www:www /tmp/php-cgi72.sock
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal