Je suis nouveau à utiliser Linux et je me suis cassé certains paramètres php lors de la falsification.
Si j'exécute un script php contenant: phpinfo();
, il indique les versions php sous la forme 5.6, mais via la ligne de commande, si j'exécute php -v
_ il retourne une version de 7.0.
Je veux que les deux versions correspondent.
Comment puis-je réparer mon PATH en ligne de commande pour utiliser également PHP 5.6?
Sudo update-alternatives --set php /usr/bin/php5.6
S'il vous plaît voir: Source
De PHP 7.1 => PHP 5.6
Sudo update-alternatives --set php /usr/bin/php5.6
De PHP 5.6 => PHP 7.1
Sudo update-alternatives --set php /usr/bin/php7.1
Vous pouvez changer les versions comme vous le souhaitez.
Vous pouvez vérifier ceci tutorial
Cordialement!!
La plupart des réponses ici manipulent la version php en utilisant la commande
Sudo update-alternatives --set ...
Bien que la commande soit très utile, elle n’explique jamais ce qu’elle fait exactement. Voici l'explication, y compris la sauvegarde et certaines options:
update-alternatives
affiche ou modifie des liens symboliques qui résident dans une autre direction qui est habituellement définie comme Ubuntu par /etc/alternatives
mais qui pourrait être changé aussi.update-alternatives
peut être affiché avec la commande update-alternatives --help
, une explication plus profonde peut être montrée avec man update-alternatives
.update-alternatives
est le lien principal qui modifie les liens symboliques dans un dossier spécial. Le contenu de ce dossier peut également être affiché avec des commandes courantes. Tous les éléments commençant par php
sont affichés:$ ls -al /etc/alternatives/php* lrwxrwxrwx 1 root root 15 Jan 19 02:58 /etc/alternatives/php -> /usr/bin/php7.2 lrwxrwxrwx 1 root root 31 Jan 19 02:58 /etc/alternatives/php.1.gz -> /usr/share/man/man1/php7.2.1.gz lrwxrwxrwx 1 root root 19 Jan 19 03:00 /etc/alternatives/php-cgi -> /usr/bin/php-cgi7.2 lrwxrwxrwx 1 root root 35 Jan 19 03:00 /etc/alternatives/php-cgi.1.gz -> /usr/share/man/man1/php-cgi7.2.1.gz lrwxrwxrwx 1 root root 23 Jan 19 03:00 /etc/alternatives/php-cgi-bin -> /usr/lib/cgi-bin/php7.2
update-alternatives
_ utilise cette commande:$ update-alternatives --list php /usr/bin/php7.0 /usr/bin/php7.2
$ update-alternatives --display php php - auto mode link best version is /usr/bin/php7.2 link currently points to /usr/bin/php7.2 link php is /usr/bin/php slave php.1.gz is /usr/share/man/man1/php.1.gz /usr/bin/php7.0 - priority 70 slave php.1.gz: /usr/share/man/man1/php7.0.1.gz /usr/bin/php7.2 - priority 72 slave php.1.gz: /usr/share/man/man1/php7.2.1.gz
Enfin, nous voulons toujours savoir quelles versions de php nous pouvons relier. La commande suivante affiche une liste des versions php actuellement disponibles dans /usr/bin/
:
$ ls -al /usr/bin/php* lrwxrwxrwx 1 root root 21 Jan 1 19:47 /usr/bin/php -> /etc/alternatives/php -rwxr-xr-x 1 root root 4385840 Apr 5 18:13 /usr/bin/php7.0 -rwxr-xr-x 1 root root 4875488 Apr 5 18:10 /usr/bin/php7.2 lrwxrwxrwx 1 root root 25 Jan 1 19:47 /usr/bin/php-cgi -> /etc/alternatives/php-cgi -rwxr-xr-x 1 root root 4279672 Apr 5 18:13 /usr/bin/php-cgi7.0 -rwxr-xr-x 1 root root 4769272 Apr 5 18:10 /usr/bin/php-cgi7.2 -rwxr-xr-x 1 root root 663 Feb 29 2016 /usr/bin/phpunit
alternatives-php.txt
à vos besoins):$ echo "command: update-alternatives --list php" > ~/Desktop/alternatives-php.txt $ update-alternatives --display php >> ~/Desktop/alternatives-php.txt $ echo "command: update-alternatives --display php" >> ~/Desktop/alternatives-php.txt $ update-alternatives --display php >> ~/Desktop/alternatives-php.txt
si vous le souhaitez, vous pouvez toujours ajouter le résultat de la commande
ls
comme ci-dessus:$ echo "command: ls -al /etc/alternatives/php*" >> ~/Desktop/alternatives-php.txt $ ls -al /etc/alternatives/php* >> ~/Desktop/alternatives-php.txt
... et les versions PHP disponibles:
$ echo "command: ls -al /usr/bin/php*" >> ~/Desktop/alternatives-php.txt $ ls -al /usr/bin/php* >> ~/Desktop/alternatives-php.txt
man
- documente la liste dans /etc/alternatives/php*/
comprend 3 lignes:$ ls -al /etc/alternatives/php* lrwxrwxrwx 1 root root 15 Jan 19 02:58 /etc/alternatives/php -> /usr/bin/php7.2 lrwxrwxrwx 1 root root 19 Jan 19 03:00 /etc/alternatives/php-cgi -> /usr/bin/php-cgi7.2 lrwxrwxrwx 1 root root 23 Jan 19 03:00 /etc/alternatives/php-cgi-bin -> /usr/lib/cgi-bin/php7.2
cli
, web
et cgi
pourraient être configurés différemment./etc/alternatives
and cli
(ligne de commande) n'utilise généralement pas la version cgi ni la configuration cgi. On peut donc supposer que le fait de changer uniquement le lien symbolique pour php
fonctionnera pour la ligne de commande, le changement de php-cgi
et php-cgi-bin
n'est probablement pas nécessaire. Habituellement, la version la plus récente est liée par défaut. La commande ci-dessous utilise donc une version antérieure tirée de la liste dans /usr/bin/
:$ Sudo update-alternatives --set php /usr/bin/php7.0 update-alternatives: using /usr/bin/php7.0 to provide /usr/bin/php (php) in manual mode
Vérification du changement:
$: php -v PHP 7.0.29-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 5 2018 08:34:50) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.29-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
La modification a été acceptée et la version utilisée est une version antérieure.
$: man php ... [SCROLL DOWN] VERSION INFORMATION This manpage describes php, version 7.0.29-1+ubuntu16.04.1+deb.sury.org+1. COPYRIGHT ...
Cela signifie que la version de PHP est compatible avec la page de manuel et la commande man php
renvoie les bonnes descriptions pour la version actuelle de php et aucun ajustement manuel concernant la page de manuel n’a été nécessaire.
Voici de manière plus interactive:
update-alternatives --config php
Vous verrez la liste de toutes les versions disponibles et en sélectionnerez une.
Vous pouvez essayer de définir le chemin d'accès à la version PHP correcte sur la ligne de commande du terminal:
set PATH="/usr/bin/php5.6/bin:$PATH"
Modifiez le chemin pour qu'il corresponde à votre propre chemin en PHP 5.6 (par exemple, s'il a été installé en premier, cela pourrait ressembler à "/ usr/bin/php").
Le "$ PATH" à la fin ajoute la valeur du chemin actuel, alors n'oubliez pas de l'utiliser.