Changer les versions de php sur la ligne de commande Ubuntu 16.04




apache command-line-interface (9)

Vous pouvez utiliser les lignes de commande ci-dessous pour basculer entre les deux versions de PHP.

Par exemple

Je veux passer la PHP Version de 7.1 à 7.2 nous pouvons utiliser la commande ci-dessous

sudo a2dismod php7.1 &&  sudo update-alternatives --set php /usr/bin/php7.2 && sudo a2enmod php7.2 && sudo service apache2 restart

a2dismod est utilisé pour désactiver la version actuelle de php et a2enmod est utilisé pour activer la version

J'ai installé php 5.6 et php 7.1 sur mon Ubuntu 16.04

Je sais qu'avec Apache comme serveur Web, je peux le faire.

a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7

Lorsque je désactive php7.1 dans les modules Apache et que j'active php 5.6, Apache reconnaît le changement et utilise l'interpréteur php 5.6 comme prévu.

Mais quand je lance un serveur web php interne depuis la ligne de commande:

php -S localhost:8888

php gère les requêtes en utilisant php 7, comment puis-je basculer entre php 6.6 et php 7.1 en ligne de commande?


Mode de commutation interactif

sudo update-alternatives --config php

Commutation manuelle

De PHP 5.6 => PHP 7.1

Par défaut, PHP 5.6 est défini sur votre système et vous devez passer à PHP 7.1.

Apache:

$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart

Ligne de commande:

$ sudo update-alternatives --set php /usr/bin/php7.1

Depuis PHP 7.1 => PHP 5.6

Par défaut, PHP 7.1 est défini sur votre système et vous devez passer à PHP 5.6.

Apache:

$ sudo a2dismod php7.1
$ sudo a2enmod php5.6
$ sudo service apache2 restart

Ligne de commande:

$ sudo update-alternatives --set php /usr/bin/php5.6

Source


En fait, je ne recommanderais pas d'utiliser a2enmod pour PHP 5 ou 7. J'utiliserais update-alternatives . Vous pouvez utiliser sudo update-alternatives --config php pour définir la version de PHP que vous souhaitez utiliser. Cela fait en sorte que vos versions en ligne de commande et Apache fonctionnent de la même manière. Vous pouvez en savoir plus sur update-alternatives sur la page de manuel .


Je pense que tu devrais essayer ça

De PHP5.6 à PHP7.1

sudo a2dismod php5.6
sudo a2enmod php7.1
sudo service apache2 restart

sudo update-alternatives --set php /usr/bin/php7.1
sudo update-alternatives --set phar /usr/bin/phar7.1
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.1

De php7.1 à php5.6

sudo a2dismod php7.1
sudo a2enmod php5.6
sudo service apache2 restart

sudo update-alternatives --set php /usr/bin/php5.6
sudo update-alternatives --set phar /usr/bin/phar5.6
sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6

Passez de PHP 5.6 à PHP 7.2 en utilisant:

sudo a2dismod php5.6 && sudo a2enmod php7.2 && sudo service apache2 restart

Passez de PHP 7.2 à PHP 5.6 en utilisant:

sudo a2dismod php7.2 && sudo a2enmod php5.6 && sudo service apache2 restart

Pour lister toutes les versions disponibles et choisir parmi elles:

sudo update-alternatives --config php

Ou faire manuellement

sudo a2dismod php7.1 // disable
sudo a2enmod php5.6  // enable

Vous pouvez créer un script pour passer d'une version à une autre: sudo nano switch_php puis tapez ceci:

#!/bin/sh
#!/bin/bash
echo "Switching to PHP$1..."
case $1 in
    "7")
        sudo a2dismod php5.6
        sudo a2enmod php7.0
        sudo service apache2 restart
        sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php;;
    "5.6")
        sudo a2dismod php7.0
        sudo a2enmod php5.6
        sudo service apache2 restart
        sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php;;
esac
echo "Current version: $( php -v | head -n 1 | cut -c-7 )"

quitter et sauvegarder le rendre exécutable: sudo chmod +x switch_php

Pour exécuter le script, tapez simplement ./switch_php [VERSION_NUMBER] où le paramètre est 7 ou 5.6.

Voilà, vous pouvez maintenant facilement changer de formulaire PHP7 à PHP 5.6!


Vous pouvez utiliser ces scripts de commutateur PHP open source, conçus spécifiquement pour être utilisés dans Ubuntu 16.04 LTS.

https://github.com/rapidwebltd/php-switch-scripts

Il existe un script setup.sh qui installe toutes les dépendances requises pour PHP 5.6, 7.0, 7.1 et 7.2. Une fois cette opération terminée, il vous suffit d'exécuter l'un des scripts de commutateur suivants pour modifier la version de la CLI de PHP et du module Apache 2.

./switch-to-php-5.6.sh
./switch-to-php-7.0.sh
./switch-to-php-7.1.sh
./switch-to-php-7.2.sh

tapez ceci dans votre shell

$ sudo update-alternatives --config php

et c'est ce que vous obtiendrez

There are 4 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php7.2   72        auto mode
  1            /usr/bin/php5.6   56        manual mode
  2            /usr/bin/php7.0   70        manual mode
  3            /usr/bin/php7.1   71        manual mode
  4            /usr/bin/php7.2   72        manual mode
Press <enter> to keep the current choice[*], or type selection number:

Choisissez la version appropriée





php-7.1