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

Beispiel für die Verwendung eines manipulationssicheren JavaScript-Objekts

Inhaltsverzeichnis Manipulationssicheres Javascri...

So erzielen Sie mit three.js einen dynamischen 3D-Texteffekt

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

Vue verwendet Canvas-Handschrifteingabe, um Chinesisch zu erkennen

Effektbild: Vorwort: Kürzlich arbeitete ich an ei...

Detaillierte Erklärung zur Verwendung des Linux-Befehls Traceroute

Mithilfe von Traceroute können wir den Pfad ermit...

js Array-Einträge () Holen Sie sich die Iterationsmethode

Inhaltsverzeichnis 1. Detaillierte Syntax der Met...

Grafisches Tutorial zur Installation von CentOS7 auf VMware 15.5

1. Erstellen Sie eine neue virtuelle Maschine in ...

So verwenden Sie CSS-Overflow: Hidden (Überlauf ausblenden und Floats löschen)

Überlauf ausblenden Damit ist gemeint, dass Text-...

Beispielcode zur Implementierung eines 3D-Zauberwürfels mit CSS

Lassen Sie uns heute einen einfachen 3D-Zauberwür...

Detailliertes Beispiel für MySQL ähnlich dem Schreiben von Oracle Rownum

Rownum ist eine einzigartige Schreibmethode in Or...

Die neuesten 36 hochwertigen kostenlosen englischen Schriftarten freigegeben

01. Unendlichkeit Schriftart herunterladen 02. Ban...