Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung von Nginx Multi-Version PHP

Detaillierte Erklärung von Nginx Multi-Version PHP

小云云
小云云Original
2018-03-10 11:22:552417Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich Nginx-PHP mit mehreren Versionen mit. Dieser Artikel zeigt Ihnen hauptsächlich die Installationsschritte und hofft, Ihnen zu helfen.

php7.2 offizielle Website herunterladen tar -xzvf...

Installieren Sie alles, was Sie brauchen, mit wenigen Abhängigkeiten

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

Kompilieren und installieren

make ZEND_EXTRA_LIBS='-liconv' && make install

Zugehörige Dateien kopieren

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

Alias ​​konfigurieren

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

Zu Umgebungsvariablen hinzufügen

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

Änderungen wirksam machen

source /etc/profile

Ändern die entsprechende pecl-Konfiguration

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

~/.pearrc-Datei ist die Cache-Datei der pecl-Konfigurationsdatei, und php_ini ist der Wert, der wirksam wird, wenn das php.ini-Element automatisch ist geändert, nachdem die Erweiterung installiert wurde

Swoole-Erweiterung installieren

pecl72 install swoole

Memcached-Erweiterung installieren

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

Event-Erweiterung installieren

pecl72 install event    # 全部默认值

Mongodb-Erweiterung installieren

pecl72 install mongodb

rdkafka-Erweiterung installieren

pecl72 install rdkafka

Redis-Erweiterung installieren

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

Installieren Sie die mcrypt-Erweiterung; da PHP7.2 mcrypt aus dem Kernpaket entfernt hat, wurde die mcrypt-Bibliothek nicht aktualisiert eine lange Zeit und die offizielle Empfehlung ist, open_ssls

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

Installieren Sie trie_filter.so, um das sensible Vokabular zu filtern

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

Überprüfen Sie, ob Fehler vorliegen und die Module korrekt installiert sind

php72 -m

Ändern Sie die www.conf-Konfigurationsdatei unter /usr/local/php72/etc/php-fpm.d

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

php-fpm72 starten

/etc/init.d/php-fpm72 start

php-fpm72 so konfigurieren, dass es beim Booten automatisch startet

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

Enable-php72.conf zum Nginx-Conf-Ordner mit folgendem Inhalt hinzufügen

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;}

nginx -t ok nginx reload

Ändern Sie die Berechtigungen und Gruppenbesitzer von php-cgi72.sock

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

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von Nginx Multi-Version PHP. 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