Maison >développement back-end >tutoriel php >Comment exécuter plusieurs versions de PHP sur un serveur

Comment exécuter plusieurs versions de PHP sur un serveur

William Shakespeare
William Shakespeareoriginal
2025-02-19 09:02:13430parcourir

Comment exécuter plusieurs versions de PHP sur un serveur

Dans cet article particulier, nous ferons la démonstration d'une solution pour installer plusieurs versions de PhalCon et PHP et les exécuterons sur un seul serveur Web. PHP 5.5.x et 5.6.x seront utilisés ici, mais vous pouvez les remplacer par d'autres versions. Tous les serveurs qui prennent en charge PHP-FPM devraient être suffisants, mais nous vous recommandons d'utiliser Nginx. L'environnement utilisé dans ce tutoriel est Fedora OS - un système Linux, mais les instructions sont presque identiques pour tout autre * Nix OS.

Les plats clés

  • Utilisez Nginx et PHP-FPM pour exécuter plusieurs versions de PHP sur un seul serveur, comme démontré avec PHP 5.5.x et 5.6.x sur Fedora OS.
  • Assurez-vous que tous les outils de développement et les bibliothèques nécessaires sont installés, tels que GCC, MADE et LiBtool, pour construire avec succès PHP à partir de Source.
  • Clone the PHP source code from GitHub to access multiple PHP versions and configure them using the `./configure` script with specific options like `–enable-fpm` for PHP-FPM support.
  • Installez et configurez différentes versions PHP dans des répertoires distincts (`/ opt / php-5.5`,` / opt / php-5.6`) pour les isoler et éviter les conflits.
  • Modifiez la configuration NGINX pour diriger le trafic vers différentes versions PHP en fonction des noms de serveurs, permettant un hébergement simultané de plusieurs applications nécessitant différents environnements PHP.

Note préliminaire

Ce tutoriel couvrira l'installation de PHP 5.5.x avec Phalcon 1.3.x et PHP 5.6.x avec Phalcon 2.0.0. Nous allons également créer des extensions de PHP supplémentaires telles que APC, Memcache, Memcached et Ioncube.

Installation de nginx

nginx est un package disponible dans Fedora OS que nous pouvons installer comme suit:

sudo yum install nginx

Ensuite, nous créons les liens de démarrage système pour nginx et le commençons

sudo chkconfig nginx on
  sudo service nginx start

Construire PHP

Avant de commencer par PHP, nous devons installer les conditions préalables à la construction de PHP5:

  • gcc ou autre suite de compilateur.
  • LIBC-DEV, fournit la bibliothèque standard C, y compris les en-têtes.
  • faire, qui est l'outil de gestion de build-management que Php utilise.
  • AutoConf (2,59 ou plus) pour générer le script de configuration.
  • Automake (1,4 ou plus), génère des fichiers makefile.in.
  • libtool, nous aide à gérer les bibliothèques partagées.
  • bison (2,4 ou plus), pour générer l'analyseur PHP.
  • (facultatif) RE2C, qui est utilisé pour générer le lexer PHP. Comme le référentiel GIT contient déjà un lexer généré, vous n'aurez besoin que si vous souhaitez apporter des modifications à lui.

Sur CentOS / Fedora, vous pouvez installer tous ces éléments avec la commande suivante:

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

Ensuite, nous devons obtenir son code source. Il existe deux façons de le faire: vous pouvez soit télécharger une archive à partir de la page de téléchargement de PHP, soit cloner le référentiel Git de GitHub.

Nous vous recommandons de consulter le code source de GIT, car il vous fournit un moyen facile de garder votre installation à jour et d'essayer votre code avec différentes versions. Un paiement GIT est également requis si vous souhaitez soumettre des correctifs ou des demandes de tir pour PHP.

Pour cloner le référentiel, exécutez les commandes suivantes dans votre terminal:

sudo yum install nginx

Par défaut, vous serez sur la branche maître, donc si vous souhaitez passer à une version de développement, vous devez consulter la branche stable. Par exemple.

sudo chkconfig nginx on
  sudo service nginx start

Avant d'aller aux étapes de construction individuelles, nous devons exécuter certaines commandes pour une version PHP «par défaut». Ceci n'est nécessaire que pour les constructions à partir de git.

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

./ buildConf génère le script de configuration. Cela peut prendre plusieurs minutes.

À mon avis, le stockage de l'ensemble du serveur Web dans un seul répertoire est le meilleur, donc j'utilise / opt ici. Ouvrez le terminal et tapez la commande suivante.

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

Une fois le script ./configure généré via l'étape ci-dessus, vous pouvez l'utiliser pour personnaliser votre version PHP. Vous pouvez répertorier toutes les options prises en charge en utilisant –Help:

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

La commande ci-dessus répertorie diverses options génériques, qui sont prises en charge par tous les scripts de configuration basés sur AutoCONF. L'un d'eux est déjà mentionné –prefix = dir, qui modifie le répertoire d'installation utilisé par Make Installer. Une autre option utile est -C, qui mettra en cache le résultat de divers tests dans le fichier config.cache et accélérera les appels ./configure. L'utilisation de cette option n'a de sens qu'une fois que vous avez déjà une version de travail et que vous souhaitez changer rapidement entre différentes configurations.

Voici quelques paramètres utiles:

sudo ./buildconf

Après avoir terminé la préparation, nous installons la version PHP 5.6. Exécutez ce qui suit:

sudo mkdir -p /opt/php-5.6
  sudo mkdir -p /opt/php-5.5

Le dernier commutateur (–Enable-FPM) fait fonctionner cette version PHP avec PHP-FPM. Si vous souhaitez utiliser cette version PHP-FPM avec Apache, veuillez utiliser --with-fpm-user = apache et --with-fpm-group = apache. D'un autre côté, si vous souhaitez utiliser cette version php-fpm avec nginx, veuillez utiliser --with-fpm-user = nginx et --with-fpm-group = nginx.

Un message réussi doit être imprimé dans le terminal comme SO:

./configure --help

Maintenant, vous pouvez utiliser Make pour effectuer la compilation réelle:

[...]

  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]
 
  [...]

Le résultat principal de cette opération sera les binaires PHP pour les SAPIS activés (par défaut SAPI / CLI / PHP et SAPI / CGI / PHP-CGI), ainsi que des extensions partagées dans les modules / répertoire.

Maintenant, vous pouvez exécuter «Faire installer» pour installer PHP dans / usr / local (par défaut) ou d'autres répertoires en utilisant la configuration - préfixe. Dans ce cas, c'est /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

Veuillez noter que la création de l'installation ne créera pas de fichier INI.

[...]

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

Copier Php.ini et PHP-FPM.Conf dans le répertoire correct:

make

nous vérifions et vérifions la version PHP une fois de plus.

sudo yum install nginx

ouvrir /opt/php-5.6/etc/php-fpm.conf et ajuster les paramètres dans la ligne d'écoute. Vous devez passer à un port inutilisé (par exemple 9001; le port 9000 peut être utilisé par Fedora)

sudo chkconfig nginx on
  sudo service nginx start
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

Configuration du script init

Vous voudrez probablement créer un script init pour votre nouveau PHP-FPM. Heureusement, PHP 5.3 le fournit déjà pour vous, copiez simplement le script init dans votre répertoire et modifiez les autorisations:

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

Votre script init est prêt. Maintenant, vous pouvez démarrer, arrêter et recharger PHP-FPM:

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

Construire le deuxième php (5.5.x)

Nous ouvrons le terminal et tapons la commande suivante.

sudo ./buildconf

Construire des extensions Php Phalcon

Pour installer plusieurs versions de PhalCon, y compris Phalcon 2.0, nous devons installer Zephir

sudo mkdir -p /opt/php-5.6
  sudo mkdir -p /opt/php-5.5

Il existe de nombreuses façons d'installer des extensions de PHP. Nous utiliserons Phpize Build It.

phpize joue un rôle similaire à celle du script ./BuildConf utilisé pour les builds PHP: d'abord, il importera le système de build PHP dans votre extension en copiant des fichiers à partir de $ prefix / lib / php / build. Parmi ces fichiers figurent Acinclude.M4 (PHP M4 Macros), phpize.m4 (qui sera renommé configurer.in dans votre extension et contient les instructions de construction principales) et les tests de runs.php.

Ensuite, Phpize invoquera AutoConf pour générer un fichier ./configure, qui peut être utilisé pour personnaliser la construction d'extension. Comme l'installation memcached, vous devez ajouter --enable-memcache.

Rappelez-vous! Vous devez spécifier l'option --with-php-config lors de la création des extensions (sauf si vous n'avez qu'une seule installation globale de PHP). Sinon ./configure ne pourra pas déterminer correctement la version PHP et les indicateurs. De plus, le script PHP-Config garantit également que la commande «Making Installer» déplacera le fichier * .so généré vers le répertoire d'extension de droite.

Construire le premier php phalcon (2.0)

./configure --help

Veuillez vérifier s'il réussit ou non

[...]

  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]
 
  [...]

Une fois l'extension installée. Vous devez toujours l'activer en l'incluant dans le fichier php.ini.

./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

Construire le deuxième 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

Nous vérifions à nouveau pour nous assurer que l'installation est réussie

make

Configuration de Nginx

sudo make install

La configuration suivante créera deux serveurs: le phalcon-prd.localhost s'exécute sur PHP 5.5.x et Phalcon-Dev.LocalHost fonctionne avec PHP 5.6.x. Ceci est un exemple, vous pouvez le personnaliser à tout ce que vous voulez, voir la documentation Nginx

/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)

Configurer le fichier des hôtes locaux

Si vous utilisez un système Linux, vous pouvez modifier le fichier hôte:

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>

Le nouveau fichier hôte ressemblera.

/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

Celui-ci intercepte toutes les demandes de phalcon-dev.localhost et phalcon-pd.localhost les envoie ensuite à votre serveur.

le tester

Pour les tests, nous créons un nouveau fichier appelé test.php et le mettons dans le dossier correspondant à la configuration ci-dessus de Nginx. Dans chaque fichier, nous ajoutons la commande suivante.

sudo yum install nginx

Maintenant, exécutant le fichier test.php dans chaque serveur, nous voyons un phalcon 1.3.x phpinfo () sur http: //phancon-pd.localhost/test.php pendant http: //phancon-dev.localhost /test.php Il devrait y avoir phpinfo () de phalcon 2.0.x.

Comment exécuter plusieurs versions de PHP sur un serveur

en conclusion

Dans ce tutoriel, nous avons appris comment nous pouvons facilement avoir plusieurs versions exécutées activement de PHP sur notre serveur, chacune avec son propre ensemble d'extensions différentes si nécessaire. Cela peut être utile si vous effectuez un hébergement partagé, ou si vous devez prendre en charge les applications héritées anciennes tout en étant en mesure de développer et de se déployer sur des versions de pointe, par exemple.

Laissez vos commentaires dans les commentaires ci-dessous et, comme toujours, partagez cet article si vous l'avez aimé!

Des questions fréquemment posées sur l'exécution de plusieurs versions PHP sur un serveur

Comment puis-je exécuter plusieurs versions PHP sur un serveur en utilisant Apache et Php-FPM sur Ubuntu 18.04?

Pour exécuter plusieurs versions PHP sur un serveur en utilisant Apache et PHP-FPM sur Ubuntu 18.04, vous devez Installez les versions PHP requises et Apache. Ensuite, vous devez configurer Apache pour utiliser la version PHP-FPM pour chaque site. Vous pouvez le faire en modifiant le fichier de configuration Apache pour chaque site et en définissant la directive ProxyPassMatch pour utiliser le pool PHP-FPM correct. Après cela, vous devez créer un pool PHP-FPM pour chaque version PHP. Enfin, redémarrez Apache et PHP-FPM pour appliquer les modifications.

Comment puis-je basculer entre différentes versions PHP sur mon serveur?

Vous pouvez basculer entre différentes versions PHP sur votre serveur à l'aide du A2ENMOD et les commandes A2Dismod. La commande A2ENMOD permet un module et la commande A2Dismod désactive un module. Pour passer à une version PHP différente, vous devez désactiver la version PHP actuelle et activer la version PHP souhaitée. Après cela, vous devez redémarrer Apache pour appliquer les modifications.

Comment puis-je exécuter différents sites Web avec différentes versions de PHP?

Pour exécuter différents sites Web avec différentes versions de PHP, vous devez Configurez chaque site Web pour utiliser une version PHP différente. Vous pouvez le faire en modifiant le fichier de configuration Apache pour chaque site Web et en définissant la directive ProxyPassMatch pour utiliser le pool PHP-FPM correct. Après cela, vous devez créer un pool PHP-FPM pour chaque version PHP. Enfin, redémarrez Apache et PHP-FPM pour appliquer les modifications.

Comment puis-je installer plusieurs versions PHP sur Fedora 35 en utilisant Apache et PHP-FPM?

Pour installer plusieurs versions PHP sur Fedora 35 en utilisant Apache et PHP-FPM, vous devez installer les versions PHP requises et Apache. Ensuite, vous devez configurer Apache pour utiliser la version PHP-FPM pour chaque site. Vous pouvez le faire en modifiant le fichier de configuration Apache pour chaque site et en définissant la directive ProxyPassMatch pour utiliser le pool PHP-FPM correct. Après cela, vous devez créer un pool PHP-FPM pour chaque version PHP. Enfin, redémarrez Apache et PHP-FPM pour appliquer les modifications.

Comment puis-je utiliser PHPENV pour gérer plusieurs versions PHP?

Vous pouvez utiliser PHPENV pour gérer plusieurs versions PHP en installant PHPENV et le Versions PHP requises. Ensuite, vous pouvez utiliser la commande phPENV pour basculer entre différentes versions PHP. Vous pouvez également utiliser la commande PHPENV Global pour définir la version globale PHP, et la commande locale PHPENV pour définir la version PHP locale pour un répertoire spécifique.

Comment puis-je vérifier la version PHP actuelle sur mon serveur?

Vous pouvez vérifier la version PHP actuelle sur votre serveur en exécutant la commande php -v dans le terminal. Cette commande affichera la version PHP actuelle et d'autres informations sur l'installation PHP.

Comment puis-je installer une version PHP spécifique sur mon serveur?

Vous pouvez installer une version PHP spécifique sur votre serveur En utilisant la commande APT-Get Installer suivie du nom du package pour la version PHP souhaitée. Par exemple, pour installer PHP 7.2, vous exécuteriez la commande apt-get installer php7.2.

Comment puis-je configurer Apache pour utiliser une version PHP spécifique?

Vous pouvez configurer Apache pour Utilisez une version PHP spécifique en modifiant le fichier de configuration Apache et en définissant la directive ProxyPassMatch pour utiliser le pool PHP-FPM correct. Après cela, vous devez redémarrer Apache pour appliquer les modifications.

Comment puis-je créer un pool PHP-FPM pour une version PHP spécifique?

Vous pouvez créer un pool PHP-FPM pour un Version PHP spécifique en créant un nouveau fichier de configuration de pool dans le répertoire /etc/php/7.2/fpm/pool.d/. Le fichier de configuration doit contenir les paramètres du pool PHP-FPM, tels que l'adresse d'écoute et le port, l'utilisateur et le groupe, ainsi un serveur?

Vous pouvez résoudre les problèmes avec l'exécution de plusieurs versions PHP sur un seul serveur en vérifiant les journaux d'erreur Apache et PHP-FPM. Les journaux d'erreur peuvent fournir des informations sur tous les problèmes avec la configuration Apache ou les pools PHP-FPM. Vous pouvez également utiliser la commande php -v pour vérifier la version PHP actuelle et la commande A2ENMOD pour vérifier les modules PHP activés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn