みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PEAR::DBの利用について

先日、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

投稿日時 - 2009-12-31 20:20:18

QNo.5559624

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

「sudo apt-get install php5-mysql」をお試しください。

投稿日時 - 2010-02-03 23:32:53

ANo.2

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

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

投稿日時 - 2009-12-31 21:38:19

補足

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

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

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

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

よろしくお願い致します。

投稿日時 - 2010-01-02 02:04:24

ANo.1

具体的にどういうエラーが出ているのか教えてください。
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

投稿日時 - 2009-12-31 20:58:50

補足

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

エラー内容は、以下でした。
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:43

あなたにオススメの質問