web-dev-qa-db-fra.com

Basculer les versions php sur commandline Ubuntu 16.04

J'ai installé php 5.6 et et php7.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 php5.6, Apache reconnaît le changement et utilise l'interpréteur php5.6 comme prévu.

Mais quand je lance un serveur web php interne à partir de la ligne de commande: -

php -S localhost:8888

php gère les demandes en utilisant php7, comment puis-je basculer entre php6.6 et php7.1 dans la ligne de commande?

40
salimsaid

Mode de commutation interactif

Sudo update-alternatives --config php

Commutation manuelle

De PHP 5.6 => PHP 7.1

La valeur par défaut PHP 5.6 est définie 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

De PHP 7.1 => PHP 5.6

La valeur par défaut PHP 7.1 est définie 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

La source

103
Stevie G

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

35
GiorgosK

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
10
Rupinder Sohal

Pour répertorier toutes les versions disponibles et en choisir une: 

Sudo update-alternatives --config php

Ou faire manuellement

Sudo a2dismod php7.1 // disable
Sudo a2enmod php5.6  // enable
9
Kamal Kumar

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 utilisée par le système. Cela rend votre ligne de commande et les versions d'Apache fonctionnent de la même manière. Vous pouvez en savoir plus sur update-alternatives sur la page man .

6
FatBoyXPC

Vous pouvez créer un script pour passer d'une version à l'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 enregistrer 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 passer facilement du formulaire PHP7 à PHP 5.6!

4
ihakoz

Tapez la commande donnée dans votre terminal.

Pour désactiver la version sélectionnée PHP ...

    • Sudo a2dismod php5
    • Service Sudo Apache2 redémarrer  
  1. Pour activer d'autres versions PHP ....

    • Sudo a2enmod php5.6
    • Service Sudo Apache2 redémarrer

Il va mettre à jour la version PHP, la même chose inverse si vous voulez une version inférieure, vous pouvez le voir avec PHP_INFO ();

3
Sonpal singh Sengar

Passez de PHP 5.6 à PHP 7.2 en utilisant:

Sudo a2dismod php5.6 && Sudo a2enmod php7.2 && Sudo service Apache2 restart

Basculez de PHP 7.2 à PHP 5.6 en utilisant:

Sudo a2dismod php7.2 && Sudo a2enmod php5.6 && Sudo service Apache2 restart
3
user1560627

Vous pouvez utiliser ces scripts Open Source PHP, spécialement conçus 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 & 7.2. Une fois cette opération terminée, vous pouvez simplement exécuter l'un des scripts de commutateur suivants pour modifier la version de PHP CLI 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
3
DivineOmega

De PHP 5.6 => PHP 7.1

$ Sudo a2dismod php5.6
$ Sudo a2enmod php7.1

pour les anciennes versions de Linux

 $ Sudo service Apache2 restart

pour la version plus récente

$ systemctl restart Apache2
1
Excellent Lawrence

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

Par exemple.

Je souhaite passer de PHP Version de 7.1 à 7.2 que 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 pour activer la version

1
Ashish Viradiya

Lors de l’installation de laravel sur Ubuntu 18.04, PHP 7.3.0RC3 install est sélectionné par défaut, mais laravel et symfony ne s’installeront pas correctement. Vous devez passer à php 7.1, en utilisant les instructions ci-dessus ou,

 Sudo update-alternatives --set php /usr/bin/php7.1

maintenant, en cours d'exécution laravel nouveau blog, procédera correctement

0
pingle60

Vous pouvez utiliser le script ci-dessous pour passer facilement d'une version à une autre PHP J'ai également inclus la configuration de phpize.

https://github.com/anilkumararumulla/switch-php-version

Téléchargez le fichier de script et lancez

sh switch.sh
0
Anil Kumar