• ベストアンサー

pear dbにつきまして

いつもお世話になっております。 ふとした疑問ですが、 PearDBを使うとき、どのディレクトリであっても、 require_once("DB.php"); とします。 通常この場合、カレントディレクトリにDB.phpがあるはずですが、 Pearの場合ないですよね。 Pearは Pear install コマンドでインストールしました。 ここらへんの仕組みがなにか、関係してくるのかなと思いますが、 ざっくり、ここの仕様の概要を教えていただけませんでしょうか。 (※わからないままだと、気持ちわるくてしょうがありません。。) お手数をおかけしますが、何卒よろしくお願い申し上げます。

  • uff-n
  • お礼率54% (47/87)
  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • marutone
  • ベストアンサー率40% (70/174)
回答No.2

php.iniの中にinclude_pathという行があります。 これは外部にあるPHPファイルを読み込むために使うオプションです。 ここにC:\php\pear\などと記述されている場合は、 paerのフォルダがインクルードされています。 pearのフォルダの直下にはDB.phpというファイルがあるはずです。 なのでどのフォルダからrequireしてもDB.phpで済む訳です。 でもPEARのDBよりPDOを使用された方が良いと思いますよ。

uff-n
質問者

お礼

ありがとうございました。 納得です!解決しました。

その他の回答 (1)

回答No.1

pathって知っている? それとpearのDBは http://pear.php.net/manual/ja/package.database.db.php に書かれているとおりにmdb2に開発が移行しているからmdb2を使うことが推奨されているの知っているのか? またpearのdbやmdb2より速度的にはpeclのpdoの方が良い。

uff-n
質問者

お礼

ありがとうございました。 pecl のpdo よく覚えておきます。

関連するQ&A

  • Pearのインストールと確認

    サーバー(FreeBDS)にPHPをインストールをしました。 LinixではPearのパッケージマネージャーもwithout pearと指定しない限りインストールされると聞きましたが、今現段階ではPearが動いているようには見えません。 Pearがしっかりと動いていることを確認するにはどうしたらいいのでしょうか?また、require_once("DB.php")とありますがPearのDB.phpは同じディレクトリにおいていない場合は、フルパスでPHPのディレクトリを指定しなければならないのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • PEARのDBが動かない・・orz

    PEARのDBを使ってMYSQLに接続しようとしているのですが、動作しません。 試しに↓のようなコードを書いたところ 画面「a」は出たのですが「b」が出ませんでした。 --コード----------------------------------------- require_once("DB.php"); $dsn = "mysql://user:password@localhost/db_name; echo("a"); $db = DB::connect($dsn , true); echo("b"); -------------------------------------------------- なにかエラーがでれば手がかりになるのですが、 エラーも何もでません。 MDB2で試しても結果は同じでした。 解決方法を教えて頂けないでしょうか? ちなみにPHPのversionは5.1.2 MYSQLは4.1.7になります。

    • 締切済み
    • PHP
  • phpのpearが使えない

    いつも参考にさせて頂いています。 pearコマンドが使えなくなってしまいました。シェルでpearと打つと下記エラーが発生します。 【エラー内容】 Warning: require_once(PEAR.php): failed to open stream: No such file or directory in Config.php on line 27 【原因】 おそらく、PEARディレクトリを移動させてしまったからだと思います。 なので、/usr/bin/pearをviで下記のように変更した所、上記エラーが発生しました。 include_pathを/usr/share/php ⇒ /usr/local/php pearを再インストールすれば改善されるでしょうか? できれば再インストールする際の手順なども教えて頂けると嬉しいです。(参考URLでも全然OKです。 それともPEARディレクトリを移動させても問題なく動作させる方法があるでしょうか?どうか宜しくお願いします。

    • ベストアンサー
    • PHP
  • 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

    • 締切済み
    • PHP
  • PEARのインストール

    初めまして。今日からphpの勉強を始めた超・初心者です。 PEARのインストールがうまくいかず、下記のエラーが出ます。他の回答も試してみましたが、うまくいきません。 Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\phpbook\pear_info.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;c:\php\includes;c:\php\PEAR;') in C:\Program Files\Apache Group\Apache2\htdocs\phpbook\pear_info.php on line 2 apache2.0.63 php5.1.6 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PEARのパッケージのパスの変更方法

    さくらレンタルサーバで、以下の手順でPEARをインストールしました。 http://www.seo-maniax.com/high-rank/sakura-pear/ 次に以下のコマンドを実行しました。 pear channel-update pear.php.net pear install Net_URL2-2.0.0 pear install HTTP_Request2-0.5.1 pear install HTTP_OAuth-0.2.3 そして、/home/ユーザ名/pear/HTTP/Consumer.phpを使ったプログラムで、以下のエラーが。 Warning: require_once(HTTP/OAuth.php) [function.require-once]: failed to open stream: No such file or directory in /home/ユーザ名/pear/HTTP/OAuth/Consumer.php on line 24 Fatal error: require_once() [function.require]: Failed opening required 'HTTP/OAuth.php' (include_path='.:/home/ユーザ名/pear/PEAR') in /home/ユーザ名/pear/HTTP/OAuth/Consumer.php on line 24 line 24は、require_once 'HTTP/OAuth.php'; となっており、正しいパスは'../OAuth.php'なので、正しくインストールしたいのですが、どうすれば良いのでしょうか?

    • ベストアンサー
    • PHP
  • XAMPP1.77でPEARが見れない。

    XAMPP1.77でPEARが見れない。 最新版であるXAMMP1.77についてる pearを使いたいのですがうまく行きません。 現在できていること ・pearを使わないPHPファイルの動作 ・コマンドpear listでpearの一覧が出る。 環境 ・windows 7 64bit ・XAMMP1.77 最新版 ------------------------------------ できていないこと。 ●pearinfoを見ることができない。 pearの情報を見るために 以下のコードをコピペしました。 <?php require_once 'PEAR/Info.php'; $info = new PEAR_Info(); $info->show(); ?> ソース元:http://allabout.co.jp/gm/gc/47461/2/ そもそもPEARフォルダの中にInfo.phpが無いので、 下のようなエラーが出ます。 Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\test\pearinfo.php on line 2 そこで、Info.phpを検索をかけると、 VersionControl\SVN\Info.phpというのだけ見つかり、 そいつをrequireすると、 Fatal error: Class 'VersionControl_SVN' not found in C:\xampp\php\PEAR\VersionControl\SVN\Info.php on line 121 というエラーがでます。 デバッグで一行ずつコードを走らせると、 Info.phpに入りますが、 その中にあるVersionControl_SVNの所で止まります。 XAMPPに最初から入ってるPEARが特殊?なので よくわからないですが、この場合どう対処すればいいでしょうか?

    • ベストアンサー
    • PHP
  • pear_info.phpも表示できません

    PCをサーバーにしてPHPの練習をしている初心者です。最近PEARを入れてDBパッケージをインストールしたのですが、機能しなくて困っています。試しにpear_info.phpを作ってブラウザで開くと下記の警告がでました。 ---------------------------------------------- <?php ini_set ("display_errors", "1"); error_reporting(E_ALL); require_once ("PEAR/Info.php"); //←line 5 $info = new PEAR_Info(); $info->show(); ?>  Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;c:\php\includes;C\php\PEAR;') in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) ---------------------------------------------- DB::connectでも同様の警告が出ます。PHPとMySQLだけだと問題なく動くのでPEARのパスを確認したのですか、原因が分かりません。助言いただけるとありがたいです。 php.iniのパス  ;***** Added by go-pear  include_path=".;c:\php\includes;C\php\PEAR;"  ;***** phpinfoのinclude_path  .;c:\php\includes;C\php\PEAR;  (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) コマンドプロンプトから "C:\PHP>pear list" での表示  Archive_tar  1.3.2  stable  Console_Getopt  1.2.3  stable  DB  1.7.11 stable  MDB2  2.4.1  stable  PEAR  1.6.0  stable  Pear_info  1.6.1  stable  Structure_Graph  1.0.2  stable PCの環境  Windows XP  Apache  2.0.59  PHP 5.2.3  MySQL 5.0.41

    • ベストアンサー
    • PHP
  • PEAR::MailでPEAR.php?

    Mailを使ってメールを送信したいのですが、エラーがでます。 Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: この PEAR.php はどこで入手できるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEAR::DBでのMySQL接続

    初心者で、環境が分からなくて困っています。 環境は、OS:Win2000 , PHP-V5.2.4 , MySQL-V5.0.45 , PEAR::DB -V1.7.13 です。 MySQLと、PEAR::DBをインストールして、CONNECTするPGを実行したところ、CONNECTエラーとなりました。 1.PHPソース require_once("DB.php"); $dsn="mysqli://pearusr:pearpass@localhost/pear"; $option=array( "autofree"=> TRUE, "debug"=>3, "portability"=> DB_PORTABILITY_ALL); $db=DB::connect($dsn,$option); if(DB::isError($db)){ die("接続失敗:".$db->getMessage().$db->getCode().$db->getDebuginfo()); } print("データベースへの接続に成功しました。"); $db->disconnect(); 2.エラーメッセージ 接続失敗:DB Error: connect failed-24 [nativecode=Can't connect to MySQL server on 'localhost' (10061)] ** mysqli://pearusr:pearpass@localhost/pear MySQL側の環境について、他QAでいろいろ教えていただき、ちゃんと起動できていそうです。 そうすると、次に疑うのは、PEAR::DBの環境がおかしいのではないか? という想像のもと、PEAR::DBの環境設定まわりで、確認すべき項目を教えていただけませんか。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう