趣味と実益と現実逃避で更新されるblogです.
役に立つことから無意味なことまでさまざま書いていきます.
|
February 28th, 2006 |
続: includeとlibはワイルドカード指定はよくないのでは?(Read: 13261) |
参照: ベイエリア情報局 tarballから複数バージョンをインストールしたときのバージョン切り替え |
いやPHPに限った話じゃなくて汎用的な話です(苦笑 |
tarballからインストールしたソフトウェアを簡単に管理するは汎用的な方法で特にPHPに特化した内容ではないです。 いやえとあの汎用的な話をしてまして. 複数バージョンをインストールする場合は /opt/pkgs/hoge-x.x.x にインストールします。 いやなんかパス変わってるし!! と思ったら後半にあるのね. ./configure --prefix=/opt/pkgs/hoge-1.0.0 これなら納得です. ちなみにうちは 後は/var/www/cgi-binにPHPを入れます. の後に $ sudo cp -p \ /var/www/cgi-bin/php-5.x.x /var/www/cgi-bin/php5 で,.htaccessは php_flag engine off AddHandler php-script .php Action php-script /cgi-bin/php5 … ここからは話が若干変わりますが,ABIをまじめに考えるならmasatoさんの方法はおいしくないところがあります. というのは,バージョンをとっかえひっかえするということはABIのアップブレード・デグレードが発生するということです. つまり $ ln -s /opt/pkgs/foo-1.1.1 /opt/foo (いろいろ設定) (いろいろびるど) $ ln -s /opt/pkgs/foo-1.0.0 /opt/foo また,アップグレードの場合でも動作しなくなる場合があります. #先日うちで紹介したPHPが全滅して全リビルドになって困った. 「いろいろなバージョンを試す」という理由ではこれはあまりおいしくないと思います. なのでうちはライブラリはバージョン毎にRPMにしています(物によりけりですけど) 複数バージョンのインストールなんかは RPM のようなパッケージ管理システムを使ってもできないので、かなり便利です。 できますよ. Red Hat 系でベタなところだとcompatシリーズのパッケージ. これでgcc 4系(ABI的には3.4系も)3.2系,2.96系が共存します.opensslもありますね(openssl-*,openssl097fとか). 私も同様なやり方でいくつかの独自パッケージを共存させています(ABIが変化したときに依存関係を崩さずにアップデートとかでは常套手段) やり方はそんなに難しくなくて, ・適当にSRPMを用意する(欲しいバージョンのSRPMでいい) ・SPECを取り出して一応リネーム(」foo.spec」を「foo<version>.spec」とか ・Nameタグをいじる(「foo」を「foo<version>」とか) ・マクロ%setupにオプション-nをつける(通常%{name}-%{version}に移動しようとするので,-n foo-%{version}とか) ・%filesから%{_bindir}の実行ファイルなど不必要なファイルを消す(必要ならファイル名を%installあたりで変えるなりして残す) ・一応スクリプト系(%pre,%post,%preun,%postunあたり)を確認する 大体この位の修正でビルド. ビルドできればインストール. ライブラリが絡むならこの方法のほうがより安全に保守をすることができます. |
ELF Feb 28th, 2006 11:30 / [ 編集 ]
[ コメントする ] [ トラックバック(1) ] [ ] |
トピックの参照元
| ▼最近のトピック
| ▼ 人気のトピック |
[ POST ] [ AddLink ] [ CtlPanel ]
<< | 2月 | >> | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
* | * | * | * | * | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | * | * |