Home > Backend Development > PHP Tutorial > Detailed explanation of nginx multi-version php

Detailed explanation of nginx multi-version php

小云云
Release: 2023-03-21 07:32:01
Original
2442 people have browsed it

This article mainly shares with you nginx multi-version php. The article mainly teaches you the installation steps and hopes to help you.

php7.2 official website download tar -xzvf...

Install whatever you have few dependencies

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
Copy after login

Compile and install

make ZEND_EXTRA_LIBS='-liconv' && make install
Copy after login

Copy related files

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
Copy after login

Configure 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
Copy after login

Add to Environment variables

vim /etc/profilePATH=$PATH:/usr/local/php72/bin/72export PATH
Copy after login

Make changes take effect

source /etc/profile
Copy after login

Modify the corresponding pecl configuration

pecl72 config-set php_ini /usr/local/php72/etc/php.ini  # 发现配置不生效
Copy after login

~ The /.pearrc file is the cache file of the pecl configuration file. The php_ini is automatically modified after the extension is installed. The modified value of the php.ini item can take effect.

Install the swoole extension

pecl72 install swoole
Copy after login

Install memcached extension

yum install -y libmemcached-devel libmemcachedpecl72 install memcached输入 libmemcached-dir/usr
Copy after login

Install event extension

pecl72 install event    # 全部默认值
Copy after login

Install mongodb extension

pecl72 install mongodb
Copy after login

Install rdkafka extension

pecl72 install rdkafka
Copy after login

Install redis extension

pecl72 install redis# 会问是否开启压缩, 建议不开启 回车默认值
Copy after login

Install mcrypt extension; because php7.2 will mcrypt has removed the core package. The mcrypt library has not been updated for a long time. It is officially recommended to use open_ssl's

pecl72 install channel://pecl.php.net/mcrypt-1.0.1  # 回车默认值
Copy after login

to install trie_filter.so to filter sensitive lexicon

# 依赖 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"
Copy after login

Check if there are any errors and the modules are installed correctly

php72 -m
Copy after login

Modify the www.conf configuration file under /usr/local/php72/etc/php-fpm.d

大概 36 行listen = /tmp/php-cgi72.sock
Copy after login

Start php-fpm72

/etc/init.d/php-fpm72 start
Copy after login

Configure php-fpm72 to start automatically at boot

chkconfig --add php-fpm72chkconfig php-fpm72 onchkconfig # 检查一下
Copy after login

nginx conf Add enable-php72.conf to the folder with the following content

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;}
Copy after login

nginx -t ok nginx reload

Modify the permissions of php-cgi72.sock and the group owner

chmod 755 /tmp/php-cgi72.sockchown www:www /tmp/php-cgi72.sock
Copy after login

The above is the detailed content of Detailed explanation of nginx multi-version php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template