特定のソフトウェアバージョンをUbuntuのデフォルトにする


11

私は現在、ubuntu 12.04に2つのバージョンのphpをインストールしています。

1つはapt-getを使用してインストールされたphp 5.3用で、もう1つはphp 5.5でxamppを使用してインストールされています

これらのコマンドを実行すると:

> 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

PHP 5.5を実行するデフォルトバージョンにするにはどうすればよいですか?

ところで、私のデフォルトのシェルはzshです。ここに私の.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

更新

私はを選ぶてる場合は更新代替オプション。これが私が現在持っているものです。

>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

回答:


18

Ubuntuでこれを行う最善の方法はそのようなものだと思います:

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

必要に応じてバージョンを変更できます。


これがこれを行う最善の方法であることに同意します。/ usr / bin / phpのリンクを正しいバージョンに更新します。Ubuntu 16では、php5.6とphp7.0をインストールして同時に実行できます。これは便利ですが、デフォルトを更新したい場合もあります。
Dave Drager

10

$ PATHを変更する代わりにできることはたくさんあります。

1つは、/ home / YOUR_NAME / .bashrcファイルでエイリアスを定義することです。

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

もう1つは、不要なphpのバージョンの名前を変更し、/ usr / bin / phpをシンボリックリンクで使用するバージョンに変換することです。

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

または、Debian代替システムを使用することもできます。まず、PHPの代替をインストールします。

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

それからあなたはすべてによって大丈夫であることを制御します

sudo update-alternatives --display php

そして、はるかに。


提案をありがとう。しかし、そこに最善の方法は何ですか。私は実際にはphp 5.5バージョンのphplatestとしてエイリアスを持っています。/ usr / bin / phpのphpをソフトリンクすると、xamppの他のバージョンがデフォルトになりますか?
chanHXC 2013年

ところで、正確にupdate-alternativeコマンドは何をするのですか?
chanHXC 2013年

すべてのプログラムが同じサービスを提供しているため、使用したいプログラムを常に把握できます。Chrome、Chromium、Firefox、Iceweaselを同じPCにインストールするのと同じように、電子メールのリンクをクリックしたときにどれを開く必要がありますか?1つのupdate-alternativesがマスターとして示しています。
MariusMatutiae 2013年

わかりました。しかし、なぜ未知の引数「php」を取得するのですか?update-alternativesを実行するとき
chanHXC 2013年

@chanHXC構文に誤りがあるからです。投稿を更新しましたが、動作するはずです。既存のphpを/ usr / bin / php_oldに移動することを忘れないでください
MariusMatutiae

3
sudo update-alternatives --config php

これにより、ユーザーはインタラクティブに選択可能な選択肢から選択できるため、よりユーザーフレンドリーになる可能性があります。
Rolando Isidoro、2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.