Lösung für die Koexistenz mehrerer PHP-Versionen unter Linux-Systemen (super einfach)

Lösung für die Koexistenz mehrerer PHP-Versionen unter Linux-Systemen (super einfach)

Als PHP7 herauskam, habe ich als Fan der neuesten Version sofort ein Upgrade durchgeführt, um es auszuprobieren. Da jedoch auf dem Server immer noch alte Programme ausgeführt werden, musste ich eine PHP-Umgebung für die Koexistenz mehrerer Versionen bereitstellen.

Die vorhandene Umgebung ist lnmp
CentOS 6.7
– nginx 1.10.1
– MariaDB-10.0.26
- php 7.0.8

Um eine bessere Kompatibilität mit alten PHP-Programmen zu gewährleisten, wird empfohlen, 5.4.45 zu verwenden. Es ist hauptsächlich mit der MySQL-Erweiterung kompatibel.

Installation starten

Laden Sie zuerst das Quellpaket php-5.4.45.tar.gz herunter.

Von der Quelle installieren

# tar xzvf php-5.4.45.tar.gz
# cd php-5.4.45

# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl

# mache ZEND_EXTRA_LIBS='-liconv'
# make installieren
# cp php.ini-Produktion /usr/local/php/etc/php.ini

php.ini-Konfiguration

post_max_size = 50M
upload_max_filesize = 50M
Datum.Zeitzone = VR China
short_open_tag = Ein
cgi.fix_pathinfo=0
maximale Ausführungszeit = 300
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

php-fpm.conf-Konfiguration

# vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
Fehlerlog = /usr/local/php54/var/log/php-fpm.log
log_level = Hinweis

[www]
hören = /tmp/php54-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
Listenmodus = 0666
Benutzer = www
Gruppe = www
pm = dynamisch
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
langsamlog = var/log/slow.log

Hinweis: Der Schlüssel liegt in der Konfiguration des Abhörports und des Prozesses

Starten Sie php-fpm

# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm
# chmod +x /etc/init.d/php54-fpm
# /etc/init.d/php54-fpm starten

Ändern Sie die Nginx-Konfiguration und verwenden Sie php-5.4.45 für die erforderliche Dienstkonfiguration

Standort ~ [^/]\.php(/|$)
 {
  versuche_dateien $uri =404;
  fastcgi_pass unix:/tmp/php54-cgi.sock;
  fastcgi_index index.php;
  fastcgi.conf einschließen;
 }

Konfigurieren Sie php54-fpm von php-5.4.45 so, dass es beim Booten automatisch startet

# chkconfig --add php54-fpm
# chkconfig php54-fpm ein

chkconfig Funktionsbeschreibung: Überprüfen und Einrichten verschiedener Systemdienste.
Syntax: chkconfig [–add][–del][–list][Systemdienst]
chkconfig [–level <Levelcode>][Systemdienst][ein/aus/zurücksetzen]

Der Schwerpunkt dieses Programms liegt

Jede PHP-Version sollte in einem neuen separaten Ordner installiert werden

Die Konfigurationsdatei php-fpm.conf jeder PHP-Version muss einen anderen Prozessnamen und einen anderen Abhörport festlegen

Der zu verwendende PHP-Versions-Abhörport oder Prozessname wird in der nginx-Konfigurationsdatei angegeben

Das könnte Sie auch interessieren:
  • So führen Sie Linux-Befehle in PHP aus
  • So installieren Sie Redis in PHP7 unter Linux
  • So erstellen Sie phpMyAdmin in Linux basierend auf der PHP-FPM-Moduslampe
  • Installieren Sie mehrere PHP-Versionen für Nginx unter Linux
  • Schutzmethode zur Verstärkung der Sicherheitskonfiguration des PHP-Websiteservers unter Linux [empfohlen]
  • Tutorial zur Migration von MySQL von phpstudy nach Linux
  • Installieren Sie das neueste PHP7 auf einem VMware Linux-System

<<:  So implementieren Sie einen Animationsübergangseffekt im Frontend

>>:  MySQL-Optimierung: InnoDB-Optimierung

Artikel empfehlen

Detaillierte Erklärung zur Verwendung verschiedener MySQL-Indizes

1. Langsames Abfrageprotokoll 1.1 MySQL-Protokoll...

Front-End-Statusverwaltung (Teil 2)

Inhaltsverzeichnis 1. Wiederholen 1.1. Shop (Bibl...

30 kostenlose hochwertige englische Ribbon-Schriftarten

30 kostenlose englische Ribbon-Schriftarten in hoh...

Installieren Sie CentOS 7 auf VMware14 – Grafik-Tutorial

Einführung in CentOS CentOS ist eine Linux-Distri...

Ubuntu installiert mehrere Versionen von CUDA und wechselt jederzeit

Ich werde nicht erklären, was CUDA ist, sondern d...

Vue realisiert problemlos Wasserzeicheneffekte

Vorwort: Verwenden Sie den Wasserzeicheneffekt im...

Lernunterlagen zum Schreiben des ersten Vue-Programms

Inhaltsverzeichnis 1. Schreiben Sie ein HTML, das...

So starten Sie Tomcat mit jsvc (als normaler Benutzer ausführen)

Einführung in jsvc In der Produktion sollte Tomca...

Detaillierte Erläuterung der MySQL-Datenbankisolationsebene und des MVCC

Inhaltsverzeichnis 1. Isolationsstufe LESEN SIE U...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikelbeispiel wird der spezifische Co...

Lernen Sie, wie Sie in 6 Sekunden 1 Million Datensätze in MySQL einfügen

1. Idee Es dauerte nur 6 Sekunden, um 1.000.000 D...

MySQL 5.7.17 Winx64 Installations- und Konfigurations-Tutorial

Heute habe ich die MySQL-Datenbank erneut auf mei...