①パッケージ管理ツール(yumとかapt-get)で入れる
②ソースコードからコンパイルしてインストール
それぞれのメリットとデメリットを教えてください。
ちなみに①は経験ありますが②はやったことありません。
PHP5.4を導入したいというのが質問の動機です。
No.1 の回答者の方は、こちらを参照されたのだと思います。
http://shikabo.ddo.jp/31.html
こちらに、書かれていることは、その通りだと思います。
後、yum と apt up2date のお手軽インストールの比較をしているのがこちら。
http://wiki.poyo.jp/read/Writing/misc/linux/fedora_trouble_shoot/20.yum
自動インストールでも、それなりに違いがあるようです。
これだけだと何なので、私見をいくつか。
どちらも、そんなに変わらないと思うんですよね。
ソースからコンパイルするとしても、configure + make でインストールできちゃうし。
php-common は別にして、使いたい機能に対して、依存ライブラリをインストールしなければいけないのは、あまり変わらない。
いや、手順としては yum 一発と、tar ボールを取得して、というのが手間と言えば、手間ですね。
ソースからのインストールの一番のメリットは、環境に対する自由度だと思います。
もちろん、configure 次第なのですが、ちょっと古い OS だとか、妙に新しい環境の場合、バイナリが用意されてないと yum などはアウトですから。
後、修正パッチを適用できるまでの早さは、ソースから導入する方に、多少のメリットがあるかと。
php くらいメジャーになると、セキュリティ関連は、すぐにレポジトリに反映されそうですが。
インストール時のトラブルが起きたときには、その種類が違うだけで、面倒なことには変わりがありません。
yum などのほうがトラブルが少ないような気がしますが、一旦、トラブルが起きると、中で何をやっているのか知らないと、手の打ちようがない、というハードルの高さがあると思います。
yum のトラブルだと、向いているレポジトリが古い、というのが多いような気がします。
仕組みが分かっていれば、どうということはない問題ですが、Windows Update のイメージで yum を使ってると、「んなこと、知らねーよ」って感じですよね。
RPM の一番良いところは、履歴を持っていること。
パッケージごとに、履歴を確認する方法はあるはずですが、色々なパッケージをインストールしていると、結構手間がかかります。
メリット | デメリット | |
---|---|---|
ソースからインストール | インストールオプションを指定できる。 最新版が利用できる。 インストールディレクトリを変更できる(複数バージョンを混在させられる)。 | インストールに時間がかかる。 エラー時にソースやライブラリアンに関する知識が要求される。 |
RPMからインストール | 手軽にインストールできる。 依存関係のパッケージも自動的にインストールしてくれる。 | 最新版が使えない。 インストールオプションが指定できない。 |
PHP 5.4はマジッククォート関連の関数が廃止されるなど、5.3 に比べて廃止されている機能があります。
なので、5.3 と共存させることができるソースからのインストールの方が良いと思います。
ありがとうございます!
No.1 の回答者の方は、こちらを参照されたのだと思います。
http://shikabo.ddo.jp/31.html
こちらに、書かれていることは、その通りだと思います。
後、yum と apt up2date のお手軽インストールの比較をしているのがこちら。
http://wiki.poyo.jp/read/Writing/misc/linux/fedora_trouble_shoot/20.yum
自動インストールでも、それなりに違いがあるようです。
これだけだと何なので、私見をいくつか。
どちらも、そんなに変わらないと思うんですよね。
ソースからコンパイルするとしても、configure + make でインストールできちゃうし。
php-common は別にして、使いたい機能に対して、依存ライブラリをインストールしなければいけないのは、あまり変わらない。
いや、手順としては yum 一発と、tar ボールを取得して、というのが手間と言えば、手間ですね。
ソースからのインストールの一番のメリットは、環境に対する自由度だと思います。
もちろん、configure 次第なのですが、ちょっと古い OS だとか、妙に新しい環境の場合、バイナリが用意されてないと yum などはアウトですから。
後、修正パッチを適用できるまでの早さは、ソースから導入する方に、多少のメリットがあるかと。
php くらいメジャーになると、セキュリティ関連は、すぐにレポジトリに反映されそうですが。
インストール時のトラブルが起きたときには、その種類が違うだけで、面倒なことには変わりがありません。
yum などのほうがトラブルが少ないような気がしますが、一旦、トラブルが起きると、中で何をやっているのか知らないと、手の打ちようがない、というハードルの高さがあると思います。
yum のトラブルだと、向いているレポジトリが古い、というのが多いような気がします。
仕組みが分かっていれば、どうということはない問題ですが、Windows Update のイメージで yum を使ってると、「んなこと、知らねーよ」って感じですよね。
RPM の一番良いところは、履歴を持っていること。
パッケージごとに、履歴を確認する方法はあるはずですが、色々なパッケージをインストールしていると、結構手間がかかります。
丁寧な解説ありがとうございます!
apt-getは使ったことありませんが、phpのコンパイル、インストールはやったことがあります。かなりむつかしかったと思いますよ。configure, make, make installではとても入りません。いくつかのライブラリやソースの準備はもちろん、そのあとも動くまでかなり調整がいったと思います。
だから、phpの特定のバージョンでなければ、自動インストールをすすめます。
コンパイル、インストールはその必要性がある人のみにした方が無難ですね。
よっぽど慣れていないとたぶんできない。apacheのインストールは経験ありますか?
たしかapacheのソースやその他のソースも用意しなければいけなかったと思うし、
一筋縄ではいかないですよ。phpはオールインワンなので、逆にコンパイルはそれだけむつかしいです。
apache, mysql, phpのコンパイルはwebサーバーをつくるには必須なんだけれど、必要のない人、慣れてない人にはおすすめしません。
wordpressをローカルで動かすにもこの辺はいるのですが、すぐにやりたかったら、
出来合いのものを使った方がいい。
あ、忘れてたけど、mysqlを正しく組み込むにはコンパイルが必須です。でないと日本語化けます。このみっつはセットになっているので、どれか一個だけというわけにはいかなかったと思います。結局全部再コンパイルしなければならなくなりますよ。
時間もめっちゃかかります。
もし、どうしてもやるなら、自分とos環境が同じ、できればphp, apacheなどのバージョンも同じ人の書いた、コンパイル記録を参照してください。
②ソースコードからコンパイルしてインストール
メリット
PHP を普通にインストールすると、 デバッグ機能よりもパフォーマンスの向上に主眼を置いて最適化された設定になります。 実際に運用することを考えると、これは妥当な選択でしょう。 しかし、拡張モジュールを開発する環境としてはあまりよくありません。 何か問題がおこったときに、どこが悪いのかを調べやすくするように PHP をビルドする必要があります。
http://php.net/manual/ja/internals2.buildsys.environment.php
なるほど、そういう観点もありますね。参考になります。
やはり最新版を使えるソースからのインストールのほうがいいですよ。
多少時間はかかってしまいますが、最新版ならいろいろ安全だと思いますので。
やはりこういうのは質問者さんが決めるのがいいかと・・・。
丁寧な解説ありがとうございます!
2013/11/18 10:17:56