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

Lösung für das Datenasymmetrieproblem zwischen MySQL und Elasticsearch

Lösung für das Datenasymmetrieproblem zwischen My...

Eine kurze Analyse der MySQL-Sicherung und -Wiederherstellung

Inhaltsverzeichnis 1. Einleitung 2. Einfache Defi...

Ubuntu-Installations-Grafiktreiber und CUDA-Tutorial

Inhaltsverzeichnis 1. Deinstallieren Sie den Orig...

MySQL 8.0.19 Installations- und Konfigurations-Tutorial unter Windows 10

Ich werde nächstes Semester MySQL lernen. Ich hab...

MySQL-Abfragedaten für heute, diese Woche, diesen Monat und letzten Monat

Heute Wählen Sie * aus Tabellenname, wobei to_day...

MySQL-Datenbank-JDBC-Programmierung (Java stellt eine Verbindung zu MySQL her)

Inhaltsverzeichnis 1. Grundvoraussetzungen für di...

MySQL 8.0 MIT Abfragedetails

Inhaltsverzeichnis Informationen zu WITH-Abfragen...