Machen Sie eine bestimmte Softwareversion zum Standard in Ubuntu


11

Ich habe derzeit 2 Versionen von PHP auf Ubuntu 12.04 installiert.

eine für PHP 5.3 mit apt-get installiert, während die andere mit xampp mit PHP 5.5 installiert ist

Wenn ich diese Befehle ausführe:

> which php
/usr/bin/php

> php --version
PHP 5.3.10-1ubuntu3.8 with Suhosin-Patch (cli) (built: Sep  4 2013 20:05:42) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethan

>echo $PATH
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/opt/lampp/bin
/home/chanhxc/pear/bin
/home/chanhxc/.composer/vendor/bin
/opt/lampp/bin
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/opt/lampp/bin
/home/chanhxc/pear/bin
/home/chanhxc/.composer/vendor/bin
/opt/lampp/bin

Wie mache ich PHP 5.5 zur Standardversion?

Übrigens ist meine Standard-Shell zsh. Hier ist die Zeile in meiner .zshrc

export   PATH=$PATH:/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    # xampp, pear, composer
export PATH=$PATH:/opt/lampp/bin:/home/chanhxc/pear/bin:/home/chanhxc/.composer/vendor/bin:/opt/lampp/bin

Aktualisieren

Wenn ich mich für die Option Update-Alternativen entscheide . Folgendes habe ich derzeit.

>update-alternatives --query php
Link: php
Status: auto
Best: /usr/bin/php5
Value: /usr/bin/php5

Alternative: /usr/bin/php5
Priority: 50
Slaves:
 php.1.gz /usr/share/man/man1/php5.1.gz

Antworten:


18

Ich denke, der beste Weg, dies unter Ubuntu zu tun, ist folgender:

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

Sie können die Version entsprechend Ihren Anforderungen ändern.


Ich bin damit einverstanden, dass dies der beste Weg ist, dies zu tun. Der Link in / usr / bin / php wird auf die richtige Version aktualisiert. In Ubuntu 16 können Sie php5.6 und php7.0 installieren und gleichzeitig ausführen - was nett ist, aber manchmal möchten Sie die Standardeinstellung aktualisieren.
Dave Drager

10

Es gibt eine Million Dinge, die Sie tun können, anstatt Ihren $ PATH zu ändern.

Eine besteht darin, einen Alias ​​in Ihrer Datei /home/YOUR_NAME/.bashrc zu definieren.

alias myphp=' /path/to/my/favorite/php ' 

Eine andere Möglichkeit besteht darin, die Version von PHP umzubenennen, die Sie nicht möchten, und / usr / bin / php in einen symbolischen Link zu der Version umzuwandeln, die Sie verwenden möchten:

sudo mv /usr/bin/php /usr/bin/php_5.3.10
sudo ln -s /path/to/php/you/want /usr/bin/php

Oder Sie können das Debian-Alternativsystem verwenden. Zuerst installieren Sie eine PHP-Alternative,

 sudo update-alternatives --install "/usr/bin/php" "php" "/pathto/your/favorite/php" 1 

dann steuern Sie, dass alles in Ordnung ist mit

sudo update-alternatives --display php

Und sehr viel mehr.


danke für den Vorschlag. aber was ist der beste Weg dorthin. Ich habe tatsächlich einen Alias ​​als PHPLATEST mit PHP 5.5 Version. Würde die weiche Verknüpfung von PHP in / usr / bin / php dazu führen, dass die andere Version in xampp Standard ist?
ChanHXC

Übrigens, was genau macht ein Update-Alternative-Befehl?
ChanHXC

Behält im Auge, welche Programme, die alle denselben Dienst anbieten, Sie bevorzugen. Wie wenn Sie Chrome, Chromium, Firefox, Iceweasel auf demselben PC haben, welchen sollten Sie öffnen, wenn Sie in einer E-Mail auf Alink klicken? Die eine Update-Alternative hat als Master angegeben.
Marius Matutiae

OK danke. aber warum bekomme ich unbekanntes Argument "php". bei der Ausführung von Update-Alternativen
ChanHXC

@chanHXC Das liegt daran, dass ich einen Fehler in der Syntax gemacht habe. Ich habe meinen Beitrag aktualisiert, er sollte jetzt funktionieren. Denken Sie daran, das vorhandene PHP nach / usr / bin / php_old
MariusMatutiae

3
sudo update-alternatives --config php

Dies ist möglicherweise benutzerfreundlicher, da der Benutzer interaktiv auswählen kann, aus welcher der verfügbaren Alternativen er auswählen kann.
Rolando Isidoro
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.