• 締切
  • すぐに回答を!

PEAR::DBの利用について

  • 質問No.5559624
  • 閲覧数964
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 25% (1/4)

先日、LAMPのインストールが完了しました。

そこで、PHPからMySQLを操作するにPHPの拡張モジュールであるPEAR::DBを利用しようと考えました。

#sudo apt-get install pear
とし、pearをインストールしたあとで、
#sudo pear install DB
としてDBモジュールをインストールしました。
#sudo pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.3 stable
Auth_SASL 1.0.3 stable
Console_Getopt 1.2.3 stable
DB 1.7.13 stable
Log 1.11.6 stable
Mail 1.1.14 stable
Net_SMTP 1.3.4 stable
Net_Socket 1.0.9 stable
PEAR 1.9.0 stable
Structures_Graph 1.0.3 stable
XML_Util 1.2.1 stable

上記がインストールされているものです。
しかし、MySQLにどうしても接続することができません。
/*
require_once("DB.php");
  // 接続設定
 $dbtype = "mysql";
  $sv = "localhost";
  $dbname = "sampledb";
  $user = "root";
  $pass = "*******";
  // データベースに接続する
  $dsn = "$dbtype://$user:$pass@$sv/$dbname";
  $conn = DB::connect($dsn);
  if (DB::isError($conn)) {
  die("接続エラー");
}
*/

とくに必要な設定とかはあるのでしょうか?
php.iniの設定をしなければならないなど。windowsの場合、インクルードパスにpearのインストール先絶対パスを追記したのを覚えています。

どなたか、アドバイスお願い致します。よろしくお願い致します。

環境やバージョン
os Linux ubuntu 2.6.31-16-generic
apache 2.2.12-1ubuntu2.1
mysql-server 5.1.37-1ubuntu5
php 5.2.10-2ubuntu6.3

回答 (全3件)

  • 回答No.3

ベストアンサー率 71% (58/81)

「sudo apt-get install php5-mysql」をお試しください。
  • 回答No.2

ベストアンサー率 20% (56/268)

直接の回答ではないけどPEAR:DBはメンテナンスのみで開発が終了しています。
PEARの公式サイトでもPEAR:DBからPEAR:MDB2に以降を促すメッセージが書かれています。
初めてやるならわざわざPEAR:DBを使う必要性は無いでしょう。
PEAR:MDB2を使いましょう。使い方もかなり同じで使えます。

>とくに必要な設定とかはあるのでしょうか?
>php.iniの設定をしなければならないなど。
MySQLの動的ライブラリ(php_mysql.so)を呼び出すようになっている?
補足コメント
woo_oow

お礼率 25% (1/4)

ご回答下さりまして有難うございます。

PEAR::MDB2は、今後プログラムを組んでいく上で利用させて頂きます。的確なアドバイスをありがとうございます。

ところで、MYSQLのライブラリphp_mysql.soがエクステンションされておりませんでした。ライブラリが存在してしていないように思います。

No.1さんの補足をご確認頂き、引き続きアドバイス頂ければ幸いです。

よろしくお願い致します。
投稿日時:2010/01/02 02:04
  • 回答No.1

ベストアンサー率 73% (867/1179)

具体的にどういうエラーが出ているのか教えてください。
connect直後のエラーチェックを、

if (DB::isError($conn)) {
die($conn->getMessage());
}

とすれば、エラーの詳細が表示されます。

それと、直接の回答ではありませんが、
PEAR::DB は古いライブラリです。今から新規にプログラムを作るのなら、PEAR::MDB2を使うことをオススメします。
http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280396/
http://project-p.jp/halt/anubis/blog_show/524
補足コメント
woo_oow

お礼率 25% (1/4)

ご回答頂き有難うございます。

エラー内容は、以下でした。
DB Error: extension not found

これは、No.2さんのご回答にもありますように「php_mysql.so」ファイルがextensionされていないということでしょうか?

php.iniの設定内容を確認しましたが、それらしき記述が見当たりません。
コンソール上で上記ファイルを探してみましたが、見当たりませんでした。apt-getでphpをインストールする場合、どのように指定してインストールすればいいのでしょうか?

申し訳ありませんが、アドバイスを引き続きお願い致します。

PEAR::MDB2は確認させて頂きました。PEARの本家サイトにも、導入のしかたが載っておりましたのでそちらも参考に致します。windowsで組んだプログラムがPEAR::DBを使用しているので、とりあえずは、PEAR::DBを使用する方向でお願い致します。
投稿日時:2010/01/02 02:03
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ