PHP のバージョンをコントロールしたい on Ubuntu

まぁ、だいたい /usr/local/php-5.4.3 的なインストールをして
/usr/local/php からソフトリンクを /usr/local/php-5.4.3 に貼るよね。

具体的に記憶をたどると
/usr/local/src/php-5.4.3 に tar ボールを展開

.configure --prefix=/usr/local/php-5.4.3
make; make test; make install

だった気がする。

まぁ、そこまでやってある前提で、話を進めます。
ubuntuDebian 由来の alternatives というプログラムで
デフォルト起動のプログラムを選定しています。

そのため、まぁ、このプログラムを使えば、普段から
/usr/local/php/bin/php
を参照させるようにして、 リンクを張り替えれば幸せになるということ。

まず、/usr/local/php を alternatives に認識させよう。
ここで、/usr/bin/php は whereis php で確認している。
他の言語の場合、やはりwhereis で確認するほうが良いだろう。
最後の 1 はプライオリティだ。ここを 51 以上にすると、勝手に選ばれるようになる。

sudo update-alternatives --install /usr/bin/php php /usr/local/php/bin/php 1

まぁ、個人的には、ばかみたいに大きい値は好きじゃないので、
小さい値を入れることにした。

次に、/usr/bin/php を実行したら、/usr/lo... を実行するように設定する。

sudo update-alternatives --config php

下のように聞かれるので、 2 を押そう。

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

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php5            50        auto mode
  1            /usr/bin/php5            50        manual mode
  2            /usr/local/php/bin/php   1         manual mode

Press enter to keep the current choice[*], or type selection number: 

このように表示が出てきたら、終わりだ。

update-alternatives: using /usr/local/php/bin/php to provide /usr/bin/php (php) in manual mode.
%php --version
PHP 5.4.3 (cli) (built: May 18 2012 20:07:19) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

今後は、/usr/local/php-x.x.x にインストールをして、php のリンクを張りかえれば
システムワイドに使うphp のバージョンが変わるという寸法さ。
ま、似たようなことは、みんなすでにやっているだろうけど〜。