ビルドとインストールの違いとは?

このQ&Aのポイント
  • ビルドとインストールの違いについて教えてください。
  • PHPのインストールプロセスはどのようなものなのでしょうか?
  • ビルドとは自分の好きな組み合わせでソースコードやライブラリを組み合わせることができることを意味します。
回答を見る
  • ベストアンサー

ビルドとインストールの違いが分からないので教えてく

ビルドとインストールの違いが分からないので教えてください。 PHPをインストールするとき、何をインストールしているのでしょうか? 「ビルドでコンパイルされたもの」をインストールしているのでしょうか? それとも、インストールするとき、「ソースコードのコンパイルも行なった上で、インストール」しているのでしょうか? また、インストールというのは、一番標準的なものをパックにしたものを、インストールしているという理解でいいのでしょうか? 「ビルドをする」=「自分の好きな組み合わせでソースコードとかライブラリを組み合わせることができる」ってことでしょうか? 「モジュール版PHP」「CGI版PHP」など色々な種類のPHPがある理由が分からないのですが、これは、ビルド内容が違うということでしょうか? また、PHPをインストールするとき、「モジュール版」と「CGI版」を選べるのでしょうか? 一度、インストールしたものに何か追加をしたい際は、 再度ビルドしないといけないのでしょうか? それとも、ビルドと言うのは、一度ビルドしたものに、追加でビルドしていくことができるのでしょうか?

  • re999
  • お礼率61% (476/777)
  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

用語は各種辞書で調べると大体わかるかと思います。 ビルドは源になるファイル(ソース)から目的のファイルを「築く」こと インストールは、適切な場所に「設置する」ことですが、文脈によってはビルドや設定まで含まれることもあります。 > PHPをインストールするとき、何をインストールしているのでしょうか? > また、インストールというのは、一番標準的なものをパックにしたものを、インストールしているという理解でいいのでしょうか? 様々です。 ソースからビルド→インストールすることもあるし、ビルド済みのファイルをまとめたパッケージを使うこともあります。 何をパッケージするかによって、標準的なものだけだったり、目的に合せて必要なライブラリまで含めたものだったりします。 > 「ビルドをする」=「自分の好きな組み合わせでソースコードとかライブラリを組み合わせることができる」ってことでしょうか? イコールではありませんが、ビルド時に機能の有効/無効等の設定ができます。 むしろ、パッケージではできない設定や機能変更を行うのが、ビルドの主目的の一つです。 > 「モジュール版PHP」「CGI版PHP」など色々な種類のPHPがある理由が分からないのですが、これは、ビルド内容が違うということでしょうか? > また、PHPをインストールするとき、「モジュール版」と「CGI版」を選べるのでしょうか? モジュール版はhttpサーバーに組み込んで使うためのもので、サーバーが無いと動きません。 CGI版は独立した一つのアプリケーションです。サーバーが無くても動作します。 ビルド時の設定で、作る/作らないを選択できます。 パッケージからのインストールなら、そのパッケージによります。 > 一度、インストールしたものに何か追加をしたい際は、再度ビルドしないといけないのでしょうか? > それとも、ビルドと言うのは、一度ビルドしたものに、追加でビルドしていくことができるのでしょうか? 追加するものによります。 単にライブラリを追加するだけだったり(このとき「ライビラリのビルド」が必要な場合もある) 設定変更して再ビルドが必要だったり。

re999
質問者

お礼

回答ありがとうございました。 >ソースからビルド→インストールすることもあるし、ビルド済みのファイルをまとめたパッケージを使うこともあります。 >何をパッケージするかによって、標準的なものだけだったり、目的に合せて必要なライブラリまで含めたものだったりします。 なるほど。 「自分でビルドしていない」=「多分、パッケージを利用している」、ということですね。 >CGI版は独立した一つのアプリケーションです。サーバーが無くても動作します。 初めて知りました 色々参考になりましたー

関連するQ&A

  • Mac PHPにモジュールの追加方法

    SnowLeopard に標準で付いているPHPでimapというモジュールが使えないため、 imapをインストールしようと思ったのですが、そもそもPHPのソースが どこにあるのか、わかりません。。。 標準でインストールされているPHPにimapを追加するには、 どうすれば良いのでしょうか?? ネットで調べると、どれもPHPのソースからコンパイル方法が出てくるのですが、 せっかく標準で色々なライブラリがインストールされているので、 何か良い方法はないでしょうか?

    • ベストアンサー
    • PHP
  • ビルドするときのOpenSSLの関係性…

    ビルド時によく分からないことがあり質問させていただきます。 わたしはLinux VPSでOpenSSLの最新版を自分でソースからビルドしてそのライブラリーを使用してApacheやBIND,NTPをビルドすることがあって、その際に疑問に思ったのですが。 OpenSSLのバージョンアップがあった際に、OpenSSLを差し替えた場合Apacheなど過去に古いバージョンでビルドしたソフトは新しいOpenSSLのモジュールを使うことになるのか、それとも、ビルド時にOpenSSLは組み込まれる物で再度コンパイルし直さないと新しいバージョンにはならないということになのかがわかりません。 是非、教えていただきたいです。 よろしくお願いします。

  • MacOSXにインストール済みPHPの再コンパイル

    MacBookAirを最近購入したので、開発環境を揃えているところなのでです。 最初からPHPが入っているのはありがたいのですが、GDやmcryptなど必要なモジュールが足りないことに気がつき、再度コンパイルしたいと考えています。 MacOSXにインストール済みのPHPを再度コンパイルすることは可能でしょうか?(ソースコードはどこかに格納されていますでしょうか?) それとも新たにソースコードを拾ってくる必要があるでしょうか? ちなみにmacportsはインストールしましたが、こちらでもソースコードからのコンパイルは可能でしょうか? お分かりの方がいらっしゃいましたらご教示いただければ幸いです。 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • パッケージインストールとソースビルドインストールによるファイルサイズの違い

    CentOS 4.8をメインにして試行錯誤の毎日ですが、最近はソースビルドでインストールすることが増えてきました。 その中で、最初はrpmやyumでパッケージインストールしていたものとソースビルド(この場合のソースはパッケージについているsrc.rpmからではなく、本家のソースからダウンロード)の結果を見て、ファイルサイズについて質問があります。 ソースビルドしたものは、パッケージインストールしたものより、2倍以上のファイルサイズになっています。 極端なものでは、例えば、 mod_python.soなんかは パッケージ:980KB ソースビルド:4000KB mod_dav_svn.so パッケージ:86KB ソースビルド:377KB という差が出てきます。 ビルドメッセージを見ても、最適化やデバッグ版ではない印象を受けていて、この違いは何だろうと思っています。 src.rpmをダウンロードして、そこからバイナリーを作る過程を追ってみようかと思いますが、ディストリビューションのビルドと本家ソースからのビルドには、こんな違いがありますよという情報でもあれば、教えてください。

  • solaris9に32ビットのapache,phpをinstallしたい

    solaris 8で32ビット版gccでapache.php,あるモジュール(phpで使うxxx.soファイル) を構築して,solaris8では問題なく動くのですが solaris 9で構築することになり,apache,php等をinstallしましたが sokaris9ではgccが基本的に64bitなので,apache,phpも64bitでinstall されたようです が,あるモジュールは,32ビットしか対応していないので, 普通にgccしてもELFのエラーがでたので gccの-m32オプションを付けてコンパイルしてコンパイルは通りました (xxx.soは作成完了) しかし,実際cgiを起動して,phpからそのxxx.soの中の関数郡を使おうとするとELFのエラーがでました そこで,apache,phpを32ビットでinstallすればいいのではと思いましたが,Makefileをいじったりしていろいろとやってみましたが うまくいきません gccは3.4.4のsolari9 64bit版のパッケージを入れています solaris9でgccが64ビット環境で,apache,phpのinstallのやり方を 教えてください

  • PHPのバージョン方法

    PHP5.12を使っていますが、今見ると最新版が5.14に なっています。バージョンアップしたいのですが、 どうやっておこなえばいいでしょうか?PHPはオプション付きで コンパイルしています。なので、再度コンパイルしなおして インストールしてあげないといけないのでしょうか? 使っているOSはlinuxで、PHPはソースからいれました。

    • 締切済み
    • PHP
  • ビルドから除外されたソースのコンパイル

    現在、Visual Studioを使用してある巨大なプロジェクトを開発しています。言語は C++です。 このプロジェクトには、ソースファイル(*.cpp)が全部で1000以上もありま す。百ではありません、千です。 そのため、プロジェクトをビルドするのに30分以上もかかり、開発効率が非常に悪 くなっています。 コンパイル・リンクとも相当の時間がかかっています。実感としては、cpp1ファイ ルにつきコンパイル1秒かかっています。 (なぜそんなに大量のcppが必要なのかというのはここでは置いといてください) そこで、次のような方法でビルド時間を短縮する方法を考案しました。 (1)ある一定数のソースファイルのプロパティで「ビルドから除外」とする。 (2) (1)でビルドから除外したソースファイルを全てインクルードしたソース ファイルを作成し、プロジェクトに追加する。 [1つにまとめたソースファイルのイメージ] #include "src001.cpp" #include "src002.cpp" #include "src003.cpp" ・・・ #include "src999.cpp" ソースファイルを1つにまとめてしまう事による弊害は全て解決したものとします。 以上により、プロジェクト内のソースファイル数を100以下にまで減らし、無事ビ ルド時間が大幅に短縮されました。 と、ここまでは良かったのですが、一つ問題があります。 それは、「ビルドから除外」したソースファイルを単独でコンパイル出来なくなって しまうのです。(ここでは、そういうことをしたいという要望があると思ってくださ い) ソリューションエクスプローラでソースファイルを右クリックし、出てくるメニュー リストの「コンパイル」が無効表示され選択できません。 もちろん、コンパイルコマンド(cl.exe)をコマンドラインから直接叩いてやればい くらでも出来ますが、出来ればIDEから簡単な操作で行いたいのです。 また、チームで開発しているため、コンパイルする時だけソースファイルの設定を変 更するというようなことはしたくないのです。 この問題に対して、何か良い手段はないでしょうか? プロジェクトを複数モジュールに分離して・・・ とか、 プリコンパイル済みヘッダを利用して・・・ とか、 リビルド時間を短縮するためソース間の依存関係を減らして・・・ というような、質問の内容を超える回答はご遠慮ください。 そのようなことは、十分ではないかも知れませんが検討済みです。

  • Target(ターゲット)、Make(メーク)、Build(ビルド)の意味

     今日は、Cの初心者です、宜しくお願いします。  いま、EclipseにCDTをインストールして使っています。  ソースから走らせると、色々なコメントとか、メニューバーにもあるのですが、その意味がよく分かりません、宜しくお願いします。  Target(ターゲット)、Make(メーク)、Build(ビルド)とはどのような意味で、それぞれどのような違いがあるのでしょうか。  compile(コンパイル)、linker(リンカ)ならわかるのですが。

  • libxml2のインストール

    Ubuntuで PHPをソースからビルドしようとおもっています。 しかし、PHPをconfigureしたあとlibxml2がインストールされていないとの警告が 出てしまいビルドできません。 そこで https://git.gnome.org/browse/libxml2/ の上記ページより最新版のlibxml2をダウンロードして libxml2をビルドしようとしたところ libxml2を解凍したなかに configure ファイルが存在しませんでした。 この場合どのようにしてlibxml2をビルドすればよいのでしょうか? よろしくご教授ください。

    • 締切済み
    • PHP
  • apache apxsによるモジュール追加

    apacheをconfigure時にmod_soを指定しインストールした場合、再コンパイル無しでモジュールの追加ができるという認識でしたが、 apache標準モジュールでも追加の出来ないものがあるのでしょうか? 下記サイトでは、rewrite_moduleの追加方法があるのですが、他のモジュールも同じ方法で出来るのでしょうか? 【参考サイト】 http://kazmax.zpp.jp/apache/apache3.html また、3rdpartyモジュールがあれば、ダウンロードしコンパイルする事で追加可能ですが。。。。 3rdpartyモジュールが無く、apache標準モジュールでも追加の出来ないものがあるのであれば、再コンパイルになると思うのですが.... apache標準モジュールでも追加の出来ないものがあるのか わかる方いらっしゃいましたら教えて下さい。 もし、追加可能であり、上記参考サイトの方法以外であれば、教えて 頂きたいのですが。

専門家に質問してみよう