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
だった気がする。
まぁ、そこまでやってある前提で、話を進めます。
ubuntu は Debian 由来の 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 のバージョンが変わるという寸法さ。
ま、似たようなことは、みんなすでにやっているだろうけど〜。