ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4105777 FreeBSDでphp5-extensionをインストールするとMySQLもインストールされてしまいます
質問者:nagumo5683 当方FreeBSD 7.0でPHP5+APACHE2.2+MySQL5.1をインストールし、サイト運営をしようとしています。PHPとAPACHEはportsからインストールし、MySQLはportsではなくMySQL ABのサイトから取得したソースからコンパイルしました。

PHPからMySQLを利用するためphp5-extensionをportsインストールしようとしているのですが、php5-extensionの依存関係のせいかMySQL5.1もportsインストールしようとしてしまいます。

多分MySQLだけはportsを利用しないでインストールしたためと思うのですが、MySQLは既にインストールしているため不要と考えています。MySQL自体の取得は回避してphp5-extensionをインストールする方法はありますでしょうか。

以上、よろしくお願いします。
困り度:
  • 暇なときにでも
質問投稿日時:
08/06/16 20:05
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.2 >正確にはmysql.soなどのPHPからMySQLに接続するためのライブラリ(?)だけが欲しかったのですが、

ports では MySQL-3.23 以降、 mysql*-client と mysql*-server に分割されており、ライブラリは -client に含まれています。

> php5-extensionでMYSQL選択をするとports依存関係でMySQL5.1自体を取得しまうので、

-client, -server の分割は ports での話で、配布元のソースは共通なわけです。それぞれ自分の受け持ちのものだけをインストールします。

php5-extensions のように、MySQL ライブラリをリンクすることで
MySQL 対応している ports は -client のみに依存関係を持ちますので、
今回は普通にインストールしてしまって良かったということですね。
回答者:fmysh
種類:アドバイス
どんな人:専門家
自信:自信あり
回答日時:
08/06/18 03:13
この回答へのお礼fmysh様、分かりやすい説明をありがとうございました。

php5-extensionでMySQLにチェックを入れても-clientしかインストール
されないという認識で正しいでしょうか。

いろいろと勉強になりました。テスト機を使ってもう少し試してみたいと
思います。

今回はどうもありがとうございました。

回答

ANo.1 php5-extensions の options にはデフォルトでMYSQLが選択されているので、それを解除します。

cd /usr/ports/lang/php5-extensions
make config
MYSQL のチェックを外す
portupgrade -f php5-extensions


ports は一般に /usr/local/ の下へインストールしますから、混ざらないように、ソースから入れる MySQL のツリーを別けておく(たとえば/optとか)のが良いと思います。

ただ、Ports を使うならば、あえて MySQL だけソースから入れるメリットはほとんどないと思います。
既にMySQLをインストールしてあるというのが理由だとしても、どのみちバージョンアップ時には入れ直すことになりますので、それが縛りになることはないように感じます。
回答者:fmysh
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/06/17 09:11
参考URL: http://www.freebsd.org/doc/en/books/handbook/ports-using.html
この回答へのお礼fmysh様、ご回答ありがとうございます。
すいませんが私の説明が悪かったです。
正確にはmysql.soなどのPHPからMySQLに接続するためのライブラリ(?)
だけが欲しかったのですが、php5-extensionでMYSQL選択をすると
ports依存関係でMySQL5.1自体を取得しまうので、MySQL5,1は取得せずに
mysql.soなどのライブラリだけ取得する方法が知りたかったのです。

fmysh様から頂いたアドバイス通りMYSQLを選択しないで再インストール
してみましたが、mysql.soは入りませんでした。
再インストール覚悟でMYSQLも選択してphp5-extensionをインストール
してみたらmysql.soが入りPHPからMySQLへ接続できました。