• 締切済み

php_pdo.dllについて

php_pdo.dllについて 現在、php.iniファイルではphp_pdo.dllをコメントアウトしているのですが このdllはどのような時に利用するファイルなのでしょうか? MySQLを利用していますが問題なく利用できています。 ご存知の方がおられましたら教えて下さい。

みんなの回答

回答No.2

>ちなみにphpの色々あるdllの意味がわかるサイトなどはあるのでしょうか? 下記のページが近いような気がしますが・・・所謂一覧表で記載されているページはないように思います。 URL http://www.php.net/manual/ja/extensions.alphabetical.php なお、原則 使わないDLLはコメントアウトが基本と思います。 PDOも、下記のページを読めば理解して頂けると思いますが 1.基本モジュールが extension=php_pdo.dll 2.使うdb専用モジュールを更に追加する必要があります。   SQLite なら extension=php_pdo_sqlite.dll を追加します。 URL http://www.php.net/manual/ja/pdo.installation.php

cherry0510
質問者

お礼

ありがとうございます。 確かに使わないDLLはコメントアウトする方が良いですね。 教えていただいたURLサイトは参考にさせていただきます。

回答No.1

ちょっと古いURLですが参考にして下さい。 http://codezine.jp/article/detail/433 簡単にいうとdbを利用するI/Fの1種ですが、dbをコネクト(初期化)する部分は、dbに依存しますが、dbを操作する関数部分はPDOという共通の関数を利用するので、開発はSQLiteで、運用はMySQLやOracleでいうような開発時が比較的簡単にできます。 まぁ~dbの定義の修正も必要にはなりますが・・・従来よりは簡単にできて、実行速度も快適だと思います。

cherry0510
質問者

お礼

回答ありがとうございます。 現在はコメントアウトにしていますが利用可能に変更しても I/Fの一種なのであれば問題はおきなさそうですね。 ありがとうございます。 今後の開発時に利用できそうなので活用したいと思います。 ちなみにphpの色々あるdllの意味がわかるサイトなどはあるのでしょうか?

関連するQ&A

  • PHP5.26でPDO(MySQL)が設定できません

    設定を確認しましたがphpinfo()のPDOの欄がno valueのままです。 PDOを使おうとすると"could not find driver"となります。 PHPのセットアップ時に選択するようになっていたので、 それ以外は何もしていないと思います。 --------------------------------------------------- 環境:Windows/PHP5.26/Apache2.28/MySQL5.0 ■php.ini内 [PHP_PDO] extension=php_pdo.dll [PHP_PDO_MYSQL] extension=php_pdo_mysql.dll [PHP_MYSQL] extension=php_mysql.dll extension_dir ="C:\Program Files\PHP\ext" ■"C:\Program Files\PHP\ext"内 php_pdo_mysql.dll php_pdo.dll php_pdo_mysql.dll 試しにセットアップで全てのDB用のPDOを選択すると、「odbc, sqlite, user」のみ 表示されるようになりました。。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP5.3.0のSQlite関数に必要なDLL

    以前PHP5.0.4で動作していたSQLiteを利用したプログラムが Apacheでエラーが返ってきます。 現在の環境:PHP5.3.0 Apache2.2 php.iniに以下のようにつけくわえてもだめでした。 extension=php_pdo.dll extension=php_sqlite.dll 両方、5.3.0のextディレクトリにはなかったので、どっかから ダウンしましたが、このdllがいけないのか、php.iniの extensionが間違っているのかわからないという状態です。 ちなみにphp_pdo_sqlite.dllというファイルは、5.3.0のextフォルダに 最初からあったみたいなので、 extension=php_pdo.dll extension=php_pdo_sqlite.dll にしてみたのですが、これでもsqlite_open()関数をコールするところで、undefined function call というエラーがApacheから返ってきます。 いったいどうすればいいのでしょうか。

  • PHPでOCIドライバが有効にならない

    首記の件、大変困っており、ワラをもつかむ気持ちで質問させていただきました。 Windows2008R2、IIS7(32ビットアプリケーション有効)、FastCGI 上記の環境にPHP(5.3.3)をインストールして使用しております。 PHP.iniを変更し、MySQLやODBCを使用できるようにいたしました。 phpinfoにも表示されておりますし、実際にDBとの接続もできております。 そしてこの度、OCIを利用するため、php.iniから、oci関連のコメントアウトを外しました。 [PHP_OCI8] extension=php_oci8.dll [PHP_OCI8_11G] extension=php_oci8_11g.dll [PHP_PDO_OCI] extension=php_pdo_oci.dll しかし、再起動後もphpinfoには表示されておりません。 OCI関連のパラメータはまだいじっておりませんが、まずは上記コメントアウトした内容が phpinfoに反映されてからと思っております。 この現象について、解決方法をご存知の方がいらっしゃいましたら、ご教示いただきたく。 どうぞよろしくお願いいたします。

  • phpのPDOの導入

    現在OpenPNEというPHPのOSSをUbuntuに入れようとしているのですが、エラーが出て困っています。PHPのバージョンは5.3.6です。またPHPはさわったことがなく、PNEをインストールするためにPHPをインストールしました。 ここから具体的にどのような問題が発生し、それに対してどのような対策をしたか書かせていただきます。 OpenPNEをインストールするために下記のコマンドを実効します。 ・sudo ./symfony openpne:install すると下記のエラーが表示されます。 ・Couldn't locate driver named mysql このエラーはPHPにPDOというものがインストールされていないため起こるエラーのようです。 ですのでPDOをインストールするために下記のコマンドを実効しました。 ・sudo pecl install pdo_mysql しかしエラーは上記のままです。 調べてみるとPHP5.1以上ではPDOがデフォルトで入っているはずです。ですのでphp.iniの末尾に下記の内容を追加しました。 extension=pdo.so extension=pdo_mysql.so extension=pdo_pgsql.so extension=pdo_sqlite.so extension=pdo_firebird.so extension=pdo_dblib.so extension=pdo_oci.so しかしエラーは上記のままです。 以上なのですが、何かお気づきになった点がございましたら、ごかいとういただけると幸いです。

    • ベストアンサー
    • PHP
  • PDO利用できますか?

    PHP5.1でレンタルサーバーにてMySQLと接続しようとしています。 今までPear::MDB2でおこなっていたのを、今回新たにPDOにて接続したいと考えております。 そこで質問なのですが、phpinfoにて確認してどこがどうなっていればPDOが利用可能なのでしょうか? ざっと確認したところ、PDOというセクションのPDO Driversという項目にmysqlという文字があるのですが、それさえ表示されていれば問題なく使用できるということでしょうか。 ググってみたらphp.iniでPDOを利用するように設定変更しなければならないようなサイトをたくさん見たのですが、標準で最初から利用できる設定になっていないのでしょうか? 実際に設置して確認できれば良いのですが、それが出来ない状況です。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • PHP : pdo_mysql.so

    大変お世話になっております。 今回、PHPでバッチを作成しました。 当然、pdo_mysql.so をドライバーとし、コネクションを生成しようとしておりますが、 「Error:could not find driver」 とエラーが出てしまいます。 そこで、php.ini に設定を行いました。 extension_dir に、実態の配置されているpath extension=pdo.so extension=pdo_mysql.so の設定を行っております。 phpinfo() には、pdo_mysql が表示されています。 また、同一サーバーにZendFramework を利用したアプリケーションが存在しておりますが、 そちらではDBへのアクセスが可能であります。 上記のような現象に思い当たる部分がある方は、 是非ご教示ください。 お手数おかけいたしますが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP PDO設定

    PDOでDB接続をしたいのですが、うまくいかず困っていて質問します。 OS Linux  apache 2.0.×(ソースでインストール) PHP5(ソースでインストール) DB MYSQL5(パッケージでインストール) 現状なのですが、PHPを下記の設定でインストールしました。 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-zend-multibyte --with-mysql --with-pdo-mysql=shared そのあとPHP.iniに記述してapache再起動 extension=pdo.so extension=pdo_mysql.so phpinfo()でみるとPDOの欄には下記しか表示されていません。 PDO drivers sqlite2, sqlite 試しにPHPで接続したのですが、 could not find driver と出ます。 そこで下記のようにインストールしてみたのですが phpinfoも上記と変わりません。 pecl install pdo_mysql ここまでが現状なのですが、 よくわかっていない部分もありわかりずらい かとは思いますが、参考意見の方を頂けますでしょうか。

    • ベストアンサー
    • PHP
  • JAVAとPHPとMYSQLの関係

    JAVAでMYSQLへの接続を行ったら今まで接続できていたPHPとMYSQLの接続が出来なくなりました。 php.iniのextension=php_mysql.dllのコメントアウトしてもphp.info()でMYSQLが利用可能と表示されません。 JAVAとPHPを同じMYSQLで動作させてはいけないのでしょうか?。 それとも他の方法があるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • PHP PDOライブラリが読み込まれない

    いつもお世話になっております。 PHP5+Apache(2.0)+PostgreSQLで開発しております。 OSはWinXP(Pro)SP2です。 PostgreSQLのみ別端末に入れております。 手始めにPDOでPostgreSQLに接続しようとしたところ、「PDOクラスがみつかりません」というようなエラーがでました。 $db = new PDO("mydsn"); ←ここで発生 phpinfo()関数で調べたところ、PDOのライブラリがロードされていないようです。 php.iniには extension_dir = "C:\php\php-5.2.0-Win32\ext" extension=pdo_pgsql.dll extension=php_pdo_pgsql.dll を記述しており、extension_dirには上記DLLが存在することも確認しております。またデータソースの設定として [PDO] pdo.dsn.mydsn="pgsql:host=xxx.xxx.xxx.xxx port=5432 dbname=mydb user=postgres password=sa" を最終行に追加しました。 Apacheの再起動も実行しました。 何か原因となるような箇所がございましたらご教授願います。宜しくお願いします。

    • ベストアンサー
    • PHP
  • ○LinuxでのPDO利用

    ○LinuxでのPDO利用 PHPで次のようなコードを記述しています。 ------------------------------------------------------------- $db = 'mysql:host=localhost;dbname=dbn'; $login = 'user'; $password = 'pass'; try { $pdo = new PDO($db , $login, $password); $sth = $pdo->prepare("SELECT * FROM USER WHERE NAME=? AND PASSWORD=?"); $sth->bindParam(1, $name); $sth->bindParam(2, $password); $sth->execute(); while($row = $sth->fetch(PDO::FETCH_ASSOC)){ $user[] = $row; } }catch(PDOException $e){ var_dump($e); } ------------------------------------------------------------- このコードがWindowsでxampp上で動かすと問題ないんですが、 Linux上で動かすと$sth->execute();でfalseが返ってきて、 値を取得できません。 設定の問題だと思うのですが、 どこにその問題があるのかが分かりません。 環境は CentOS apache 2.0 php 5.3 mysql 5.1 PDO driver,pdo_mysqlもphpinfo()から確認できてます。 php.iniにも extension=pdo.so extension=pdo_mysql.so の記述はあります。 どなたか分かる方、宜しくお願いします。

    • ベストアンサー
    • PHP