Inhaltsverzeichnis
Key Takeaways
Dieses Tutorial behandelt die Installation von PHP 5.5.x mit Phalcon 1.3.x und PHP 5.6.x mit Phalcon 2.0.0. Wir erstellen auch einige zusätzliche PHP -Erweiterungen wie APC, Memcache, Memcached und Ioncube.
nginx ist ein verfügbares Paket im Fedora -Betriebssystem, das wir wie folgt installieren können:
Bevor Sie mit PHP beginnen, müssen wir die Voraussetzungen für den Bau von PHP5 installieren:
Init Skript Setup
Erstellen des zweiten PHP (5.5.x)
bauen pHP phalcon -Erweiterungen
Erstellen des ersten Php Phalcon (2.0)
Erstellen des zweiten Php Phalcon (1.3.x)
Konfigurieren von nginx
Einrichten der lokalen Hosts -Datei
testen
Abschließend
Wie kann ich mehrere PHP-Versionen auf Fedora 35 unter Verwendung von Apache und PHP-FPM? Apache. Anschließend müssen Sie Apache so konfigurieren, dass sie für jede Website die PHP-FPM-Version verwenden. Sie können dies tun, indem Sie die Apache-Konfigurationsdatei für jede Site bearbeiten und die ProxypassMatch-Anweisung festlegen, um den richtigen PHP-FPM-Pool zu verwenden. Danach müssen Sie für jede PHP-Version einen PHP-FPM-Pool erstellen. Schließlich starten Sie Apache und PHP-FPM neu, um die Änderungen anzuwenden.
Wie kann ich die aktuelle PHP -Version auf meinem Server überprüfen? 🎜>
Heim Backend-Entwicklung PHP-Tutorial So führen Sie mehrere Versionen von PHP auf einem Server aus

So führen Sie mehrere Versionen von PHP auf einem Server aus

Feb 19, 2025 am 09:02 AM

So führen Sie mehrere Versionen von PHP auf einem Server aus

In diesem speziellen Beitrag werden wir eine Lösung für die Installation mehrerer Versionen von Phalcon und PHP demo demo demo demo wir auf einem einzelnen Webserver. PHP 5.5.x und 5.6.x werden hier verwendet, aber Sie können sie durch andere Versionen ersetzen. Alle Server, die PHP-FPM unterstützen, sollten ausreichen, wir empfehlen jedoch, Nginx zu verwenden. Die in diesem Tutorial verwendete Umgebung ist Fedora OS - ein Linux -System, aber die Anweisungen sind für jedes andere *Nix OS.

fast identisch

Key Takeaways

  • Verwenden
  • Stellen Sie sicher, dass alle notwendigen Entwicklungstools und Bibliotheken wie GCC, Make und Libtool installiert werden, um PHP erfolgreich aus Quelle zu erstellen.
  • Klonen Sie den PHP-Quellcode von GitHub klonen, um auf mehrere PHP-Versionen zuzugreifen und sie mit dem Skript `./Configure` mit spezifischen Optionen wie` –Enable-fpm` für PHP-FPM-Unterstützung zu konfigurieren.
  • installieren und konfigurieren Sie verschiedene PHP-Versionen in separaten Verzeichnissen (`/opt/php-5.5`,`/opt/php-5.6`), um sie zu isolieren und Konflikte zu vermeiden.
  • Ändern Sie die NGINX -Konfiguration, um den Datenverkehr auf verschiedenen PHP -Versionen basierend auf Servernamen zu lenken, sodass die gleichzeitige Hosting mehrerer Anwendungen, die unterschiedliche PHP -Umgebungen erfordern
  • vorläufige Note

Dieses Tutorial behandelt die Installation von PHP 5.5.x mit Phalcon 1.3.x und PHP 5.6.x mit Phalcon 2.0.0. Wir erstellen auch einige zusätzliche PHP -Erweiterungen wie APC, Memcache, Memcached und Ioncube.

Installieren von nginx

nginx ist ein verfügbares Paket im Fedora -Betriebssystem, das wir wie folgt installieren können:

Dann erstellen wir die Systemstart -Links für Nginx und starten sie
sudo yum install nginx
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

bauen php
sudo chkconfig nginx on
  sudo service nginx start
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Bevor Sie mit PHP beginnen, müssen wir die Voraussetzungen für den Bau von PHP5 installieren:

gcc oder eine andere Compiler -Suite.
  • libc-dev, liefert die C-Standardbibliothek, einschließlich Headers.
  • make, das Build-Management-Tool PHP verwendet.
  • autoconf (2.59 oder höher) zum Generieren des Konfigurationsskripts.
  • Automake (1.4 oder höher) erzeugt makefile.in -Dateien.
  • libtool, hilft uns, gemeinsam genutzte Bibliotheken zu verwalten.
  • Bison (2,4 oder höher) zum Erzeugen des PHP -Parsers.
  • (optional) re2c, mit dem der PHP -Lexer erzeugt wird. Da das Git -Repository bereits einen generierten Lexer enthält, benötigen Sie nur RE2C, wenn Sie Änderungen daran vornehmen möchten.
  • auf CentOS/Fedora Sie können alle diese mit dem folgenden Befehl installieren:

Dann müssen wir seinen Quellcode erhalten. Es gibt zwei Möglichkeiten, dies zu tun: Sie können entweder ein Archiv von der Downloadseite von PHP herunterladen oder das Git -Repository von Github klonen.
sudo yum install gcc libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel bison gcc make
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir empfehlen, den Quellcode von Git zu überprüfen, da Sie eine einfache Möglichkeit bieten, Ihre Installation auf dem neuesten Stand zu halten und Ihren Code mit verschiedenen Versionen auszuprobieren. Eine Git -Checkout ist auch erforderlich, wenn Sie Patches einreichen oder Anfragen für PHP abrufen möchten.

Um das Repository zu klonen, führen Sie die folgenden Befehle in Ihrem Terminal aus:

sudo yum install nginx
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

standardmäßig befinden Sie sich in der Master -Filiale. Wenn Sie also zu einer Entwicklungsversion wechseln möchten, müssen Sie sich die stabile Filiale ansehen. Zum Beispiel.

sudo chkconfig nginx on
  sudo service nginx start
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Bevor wir zu den einzelnen Build -Schritten gehen, müssen wir einige Befehle für einen Standard -PHP -Build ausführen. Dies ist nur für Builds aus Git erforderlich.

sudo yum install gcc libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel bison gcc make
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

./ BuildConf generiert das Konfigurationsskript. Dies kann einige Minuten dauern.

Meiner Meinung nach ist es am besten, den gesamten Webserver in einem einzigen Verzeichnis zu speichern. Öffnen Sie den Terminal und geben Sie den folgenden Befehl ein.

sudo mkdir /opt/source && cd /opt/source
  git clone git@github.com:php/php-src.git && cd php-src
Nach dem Login kopieren
Nach dem Login kopieren

Sobald das Skript ./Configure über den obigen Schritt generiert wird, können Sie es verwenden, um Ihr PHP -Build anzupassen. Sie können alle unterstützten Optionen mit –help:

auflisten
<span>  PHP 5.3:  git checkout PHP-5.3
</span><span>  PHP 5.4:  git checkout PHP-5.4
</span><span>  PHP 5.6:  git checkout PHP-5.6
</span><span>  PHP HEAD: git checkout master </span>
Nach dem Login kopieren
Nach dem Login kopieren

In dem obigen Befehl werden verschiedene generische Optionen aufgeführt, die von allen autoconf-basierten Konfigurationsskripten unterstützt werden. Einer von ihnen ist bereits erwähnt - Prefix = dir, das das durch Made Installation verwendete Installationsverzeichnis ändert. Eine weitere nützliche Option ist -c, die das Ergebnis verschiedener Tests in der Datei config.cache zwischenspeichert und nachfolgend ./Configure -Anrufe beschleunigen. Die Verwendung dieser Option ist nur sinnvoll, sobald Sie bereits über einen Arbeitsbau verfügen und schnell zwischen verschiedenen Konfigurationen ändern möchten.

Hier sind einige nützliche Einstellungen:

sudo ./buildconf
Nach dem Login kopieren
Nach dem Login kopieren

Nach Abschluss der Vorbereitung installieren wir die PHP -Version 5.6. Führen Sie Folgendes aus:

sudo mkdir -p /opt/php-5.6
  sudo mkdir -p /opt/php-5.5
Nach dem Login kopieren
Nach dem Login kopieren

Der letzte Switch (–Enable-fpm) funktioniert diese PHP-Version mit PHP-FPM. Wenn Sie diese PHP-FPM-Version mit Apache verwenden möchten, verwenden Sie bitte-with-fpm-user = apache und--with-fpm-group = apache. Wenn Sie diese PHP-FPM-Version mit Nginx verwenden möchten, verwenden Sie bitte-with-fpm-user = nginx und-with-fpm-gruppen = nginx.

Eine erfolgreiche Nachricht sollte im Terminal wie SO gedruckt werden:

./configure --help
Nach dem Login kopieren
Nach dem Login kopieren

Jetzt können Sie Make verwenden, um die tatsächliche Zusammenstellung durchzuführen:

[...]

  Usage: ./configure [OPTION]... [VAR=VALUE]...

  To assign environment variables (e.g., CC, CFLAGS...), specify them as
  VAR=VALUE.  See below for descriptions of some of the useful variables.

  Defaults for the options are specified in brackets.

  Configuration:
    -h, --help              display this help and exit
        --help=short        display options specific to this package
        --help=recursive    display the short help of all the included packages
    -V, --version           display version information and exit
    -q, --quiet, --silent   do not print `checking ...' messages
        --cache-file=FILE   cache test results in FILE [disabled]
    -C, --config-cache      alias for `--cache-file=config.cache'
    -n, --no-create         do not create output files
        --srcdir=DIR        find the sources in DIR [configure dir or `..']

  Installation directories:
    --prefix=PREFIX         install architecture-independent files in PREFIX
                            [/usr/local]
    --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                            [PREFIX]

  By default, `make install' will install all the files in
  `/usr/local/bin', `/usr/local/lib' etc.  You can specify
  an installation prefix other than `/usr/local' using `--prefix',
  for instance `--prefix=$HOME'.

  For better control, use the options below.

  Fine tuning of the installation directories:
    --bindir=DIR            user executables [EPREFIX/bin]
    --sbindir=DIR           system admin executables [EPREFIX/sbin]
    --libexecdir=DIR        program executables [EPREFIX/libexec]
    --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
    --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
    --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
    --libdir=DIR            object code libraries [EPREFIX/lib]
    --includedir=DIR        C header files [PREFIX/include]
    --oldincludedir=DIR     C header files for non-gcc [/usr/include]
    --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
    --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
    --infodir=DIR           info documentation [DATAROOTDIR/info]
    --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
    --mandir=DIR            man documentation [DATAROOTDIR/man]
    --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
    --htmldir=DIR           html documentation [DOCDIR]
    --dvidir=DIR            dvi documentation [DOCDIR]
    --pdfdir=DIR            pdf documentation [DOCDIR]
    --psdir=DIR             ps documentation [DOCDIR]
 
  [...]
Nach dem Login kopieren
Nach dem Login kopieren

Das Hauptergebnis dieser Operation sind PHP-Binärdateien für die aktivierten SAPIs (standardmäßig SAPI/CLI/PHP und SAPI/CGI/PHP-CGI) sowie gemeinsame Erweiterungen in den Modulen/Verzeichnissen.

.

Jetzt können Sie "Installation" ausführen, um PHP in /usr /local (Standard) oder andere Verzeichnisse mit der Konfiguration -Prefix zu installieren. In diesem Fall ist es /opt/php-5.6
./configure \
--prefix=/opt/php-5.6 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-libdir=lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--with-gd \
--with-jpeg-dir=/usr/lib/
--enable-fpm
Nach dem Login kopieren
Nach dem Login kopieren

Bitte beachten Sie, dass die Installation keine INI -Datei erstellt.
[...]

creating libtool
appending configuration tag "CXX" to libtool

Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
Nach dem Login kopieren
Nach dem Login kopieren

kopieren Sie php.ini und php-fpm.conf in das richtige Verzeichnis:
make
Nach dem Login kopieren
Nach dem Login kopieren

Wir überprüfen und überprüfen die PHP -Version noch einmal.
sudo yum install nginx
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

öffnen /opt/php-5.6/etc/php-fpm.conf und passen Sie die Einstellungen in der Listenzeile an. Sie müssen in einen ungenutzten Port umwandeln (z. B. 9001; der Port 9000 kann von Fedora verwendet werden)

sudo chkconfig nginx on
  sudo service nginx start
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
sudo yum install gcc libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel bison gcc make
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Init Skript Setup

Sie möchten wahrscheinlich ein Init-Skript für Ihren neuen PHP-FPM erstellen. Glücklicherweise liefert PHP 5.3 es bereits für Sie. Kopieren Sie das Init -Skript einfach in Ihr Verzeichnis und ändern Sie die Berechtigungen:

sudo mkdir /opt/source && cd /opt/source
  git clone git@github.com:php/php-src.git && cd php-src
Nach dem Login kopieren
Nach dem Login kopieren

Ihr Init -Skript ist bereit. Jetzt können Sie Php-FPM starten, anhalten und neu laden:

<span>  PHP 5.3:  git checkout PHP-5.3
</span><span>  PHP 5.4:  git checkout PHP-5.4
</span><span>  PHP 5.6:  git checkout PHP-5.6
</span><span>  PHP HEAD: git checkout master </span>
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen des zweiten PHP (5.5.x)

Wir öffnen den Terminal und geben den folgenden Befehl ein.

sudo ./buildconf
Nach dem Login kopieren
Nach dem Login kopieren

bauen pHP phalcon -Erweiterungen

Um mehrere Versionen von Phalcon einschließlich Phalcon 2.0 zu installieren, müssen wir Zephir

installieren
sudo mkdir -p /opt/php-5.6
  sudo mkdir -p /opt/php-5.5
Nach dem Login kopieren
Nach dem Login kopieren

Es gibt viele Möglichkeiten, PHP -Erweiterungen zu installieren. Wir werden Phpize Build It verwenden.

Phpize spielt eine ähnliche Rolle wie das für PHP -Builds verwendete Skript. Unter diesen Dateien befinden sich Acinclude.m4 (M4-Macros von PHP), phpize.m4 (die in Ihrer Erweiterung in Ihrer Erweiterung umbenannt werden und die Hauptbauanweisungen enthält) und run-tests.php.

Anschließend ruft Phpize AutoConf auf, um eine ./Configure -Datei zu generieren, mit der der Erweiterungsaufbau angepasst werden kann. Wie beispielsweise die Installationsmemcached müssen Sie hinzufügen-anable Memcache.

Erinnere dich! Sie müssen die Option-mit Php-Konfiguration beim Erstellen der Erweiterungen angeben (es sei denn, Sie haben nur eine einzige globale Installation von PHP). Andernfalls kann. Darüber hinaus stellt das Php-Config-Skript sicher, dass der Befehl „Installieren“ die generierte *.so-Datei in das richtige Erweiterungsverzeichnis verschiebt.

Erstellen des ersten Php Phalcon (2.0)

./configure --help
Nach dem Login kopieren
Nach dem Login kopieren

Bitte überprüfen Sie, ob es erfolgreich ist

[...]

  Usage: ./configure [OPTION]... [VAR=VALUE]...

  To assign environment variables (e.g., CC, CFLAGS...), specify them as
  VAR=VALUE.  See below for descriptions of some of the useful variables.

  Defaults for the options are specified in brackets.

  Configuration:
    -h, --help              display this help and exit
        --help=short        display options specific to this package
        --help=recursive    display the short help of all the included packages
    -V, --version           display version information and exit
    -q, --quiet, --silent   do not print `checking ...' messages
        --cache-file=FILE   cache test results in FILE [disabled]
    -C, --config-cache      alias for `--cache-file=config.cache'
    -n, --no-create         do not create output files
        --srcdir=DIR        find the sources in DIR [configure dir or `..']

  Installation directories:
    --prefix=PREFIX         install architecture-independent files in PREFIX
                            [/usr/local]
    --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                            [PREFIX]

  By default, `make install' will install all the files in
  `/usr/local/bin', `/usr/local/lib' etc.  You can specify
  an installation prefix other than `/usr/local' using `--prefix',
  for instance `--prefix=$HOME'.

  For better control, use the options below.

  Fine tuning of the installation directories:
    --bindir=DIR            user executables [EPREFIX/bin]
    --sbindir=DIR           system admin executables [EPREFIX/sbin]
    --libexecdir=DIR        program executables [EPREFIX/libexec]
    --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
    --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
    --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
    --libdir=DIR            object code libraries [EPREFIX/lib]
    --includedir=DIR        C header files [PREFIX/include]
    --oldincludedir=DIR     C header files for non-gcc [/usr/include]
    --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
    --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
    --infodir=DIR           info documentation [DATAROOTDIR/info]
    --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
    --mandir=DIR            man documentation [DATAROOTDIR/man]
    --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
    --htmldir=DIR           html documentation [DOCDIR]
    --dvidir=DIR            dvi documentation [DOCDIR]
    --pdfdir=DIR            pdf documentation [DOCDIR]
    --psdir=DIR             ps documentation [DOCDIR]
 
  [...]
Nach dem Login kopieren
Nach dem Login kopieren

nach der Installation der Erweiterung. Sie müssen es noch aktivieren, indem Sie es in die Php.ini -Datei aufnehmen.

./configure \
--prefix=/opt/php-5.6 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-libdir=lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--with-gd \
--with-jpeg-dir=/usr/lib/
--enable-fpm
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen des zweiten Php Phalcon (1.3.x)

[...]

creating libtool
appending configuration tag "CXX" to libtool

Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
Nach dem Login kopieren
Nach dem Login kopieren

wir überprüfen erneut, um sicherzustellen, dass die Installation erfolgreich ist

make
Nach dem Login kopieren
Nach dem Login kopieren

Konfigurieren von nginx

sudo make install
Nach dem Login kopieren

Die folgende Konfiguration erstellt zwei Server: Die Phalcon-Prd.LocalHost läuft auf PHP 5.5.x und Phalcon-dev.localHost funktioniert mit PHP 5.6.x. Dies ist ein Beispiel. Sie können es an alles anpassen, was Sie wollen, siehe Nginx -Dokumentation

/opt/php-5.6/bin/php --ini
Configuration File (php.ini) Path: /opt/php-5.6/lib
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
Nach dem Login kopieren

Einrichten der lokalen Hosts -Datei

Wenn Sie ein Linux -System verwenden, können Sie die Hostdatei bearbeiten:

sudo cp <span>/opt/source/php-src/php-fpm.conf.default /opt/php-5.6/etc/php-fpm.conf
</span>sudo cp <span>/opt/source/php-src/php.ini-production /opt/php-5.6/lib/php.ini</span>
Nach dem Login kopieren

Die neue Host -Datei sieht aus.

/opt/php-5.6/bin/php --ini
  Configuration File (php.ini) Path: /opt/php-5.6/lib
  Loaded Configuration File:         /opt/php-5.6/lib/php.ini
  Scan for additional .ini files in: (none)
  Additional .ini files parsed:      (none)

  ### Checking php
  /opt/php-5.6/bin/php --version
  PHP 5.6.2-dev (cli) (built: Oct  2 2014 17:20:23) 
  Copyright (c) 1997-2014 The PHP Group
  Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
Nach dem Login kopieren

Dieser fängt alle Anfragen für phalcon-dev.localhost und phalcon-prd.localhost an und sendet sie dann an Ihren Server.

testen

Für das Testen erstellen wir eine neue Datei namens test.php und setzen sie in den Ordner ein, der der obigen Konfiguration von Nginx entspricht. In jeder Datei fügen wir den folgenden Befehl hinzu.

sudo yum install nginx
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Ausführen der test.php-Datei in jedem Server sehen wir einen Phalcon 1.3.x phpinfo () unter http: //phancon-prd.localhost/test.php, während sie unter http: //phancon-dev.lokalhost /test.php Es sollte phpinfo () von phalcon 2.0.x.

geben

So führen Sie mehrere Versionen von PHP auf einem Server aus

Abschließend

In diesem Tutorial haben wir gelernt, wie wir bei Bedarf leicht mehrere aktiv ausgeführte Versionen von PHP auf unserem Server haben können. Dies kann nützlich sein, wenn Sie gemeinsames Hosting durchführen oder wenn Sie alte Legacy -Apps unterstützen müssen, während Sie beispielsweise in der Lage sind, in der Lage zu sein.

Hinterlassen Sie Ihr Feedback in den Kommentaren unten und wie immer teilen Sie diesen Artikel, wenn Ihnen es gefallen hat!

häufig gestellte Fragen zum Ausführen mehrerer PHP -Versionen auf einem Server

Wie kann ich mehrere PHP Installieren Sie die erforderlichen PHP -Versionen und Apache. Anschließend müssen Sie Apache so konfigurieren, dass sie für jede Website die PHP-FPM-Version verwenden. Sie können dies tun, indem Sie die Apache-Konfigurationsdatei für jede Site bearbeiten und die ProxypassMatch-Anweisung festlegen, um den richtigen PHP-FPM-Pool zu verwenden. Danach müssen Sie für jede PHP-Version einen PHP-FPM-Pool erstellen. Schließlich können Sie Apache und PHP-FPM neu starten, um die Änderungen anzuwenden.

Wie kann ich zwischen verschiedenen PHP-Versionen auf meinem Server wechseln? und A2Dismod -Befehle. Der Befehl a2enmod ermöglicht ein Modul, und der Befehl a2dismod deaktiviert ein Modul. Um zu einer anderen PHP -Version zu wechseln, müssen Sie die aktuelle PHP -Version deaktivieren und die gewünschte PHP -Version aktivieren. Danach müssen Sie Apache neu starten, um die Änderungen anzuwenden. Konfigurieren Sie jede Website so, dass sie eine andere PHP -Version verwendet. Sie können dies tun, indem Sie die Apache-Konfigurationsdatei für jede Website bearbeiten und die ProxypassMatch-Anweisung festlegen, um den richtigen PHP-FPM-Pool zu verwenden. Danach müssen Sie für jede PHP-Version einen PHP-FPM-Pool erstellen. Starten Sie schließlich Apache und PHP-FPM neu, um die Änderungen anzuwenden.

Wie kann ich mehrere PHP-Versionen auf Fedora 35 unter Verwendung von Apache und PHP-FPM? Apache. Anschließend müssen Sie Apache so konfigurieren, dass sie für jede Website die PHP-FPM-Version verwenden. Sie können dies tun, indem Sie die Apache-Konfigurationsdatei für jede Site bearbeiten und die ProxypassMatch-Anweisung festlegen, um den richtigen PHP-FPM-Pool zu verwenden. Danach müssen Sie für jede PHP-Version einen PHP-FPM-Pool erstellen. Schließlich starten Sie Apache und PHP-FPM neu, um die Änderungen anzuwenden.

Wie kann ich PHPENV verwenden, um mehrere PHP-Versionen zu verwalten? Erforderliche PHP -Versionen. Anschließend können Sie den Befehl PHPENV verwenden, um zwischen verschiedenen PHP -Versionen zu wechseln. Sie können auch den Befehl PHPENV Global verwenden, um die globale PHP -Version und den Befehl PHPENV lokal festzulegen, um die lokale PHP -Version für ein bestimmtes Verzeichnis festzulegen.

Wie kann ich die aktuelle PHP -Version auf meinem Server überprüfen? 🎜>

Sie können die aktuelle PHP -Version auf Ihrem Server überprüfen, indem Sie den Befehl PHP -v im Terminal ausführen. In diesem Befehl wird die aktuelle PHP -Version und andere Informationen zur PHP -Installation angezeigt.

Wie kann ich eine bestimmte PHP -Version auf meinem Server installieren? Durch die Verwendung des APT-Get-Installationsbefehls gefolgt vom Paketnamen für die gewünschte PHP-Version. Um beispielsweise PHP 7.2 zu installieren, werden Sie den Befehl APT-Get ausführen. Installieren Sie Php7.2.

Wie kann ich Apache so konfigurieren, dass Sie eine bestimmte PHP-Version verwenden? Verwenden Sie eine bestimmte PHP-Version, indem Sie die Apache-Konfigurationsdatei bearbeiten und die ProxypassMatch-Anweisung einstellen, um den richtigen PHP-FPM-Pool zu verwenden. Danach müssen Sie Apache neu starten, um die Änderungen anzuwenden. Spezifische PHP -Version durch Erstellen einer neuen Poolkonfigurationsdatei im Verzeichnis /etc/php/7.2/fpm/pool.d/. Die Konfigurationsdatei sollte die Einstellungen für den PHP-FPM-Pool enthalten, z. Ein Server? Die Fehlerprotokolle können Informationen zu Problemen mit der Apache-Konfiguration oder den PHP-FPM-Pools liefern. Sie können auch den Befehl PHP -V verwenden, um die aktuelle PHP -Version und den Befehl a2enmod zu überprüfen, um zu überprüfen, welche PHP -Module aktiviert sind.

Das obige ist der detaillierte Inhalt vonSo führen Sie mehrere Versionen von PHP auf einem Server aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1274
29
C#-Tutorial
1256
24
Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Apr 17, 2025 am 12:25 AM

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Apr 14, 2025 am 12:12 AM

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Apr 15, 2025 am 12:15 AM

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

See all articles