windows7にてMySQLとPHPMyAdminを使おうと現在設定中です。

MySQL5.5、APACHE2.2、PHP5.2、PHPMyAdminをインストールし、
各種設定を終えたところで、PHPMyAdminにて確認したところ、
「mysqli 拡張がありません。PHP の設定をチェックしてみてください。」
とエラーがでます。
mysqliの拡張が現在ちゃんと入っているのかどうかの確認や、必要な拡張のインストール方法がわからず困っています。
もしくはほかの原因でこのエラーが出ているのかもわかりません。

どなたかこの解決方法をご存知の方、教えていただければ大変幸いです。
どうかよろしくお願いいたします。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2012/02/27 07:50:03

回答2件)

id:hits No.1

回答回数39ベストアンサー獲得回数6

PHP: インストール手順 - Manual

MySQL はもはやデフォルトでは有効となりません。したがって php.ini で php_mysql.dll DLL を有効にしておく必要があります。 また、PHP が MySQL クライアントライブラリにアクセスできなければなりません。 libmysql.dll というファイルが Windows 版の PHP 配布ファイルに含まれており、PHP が MySQL と話すためにはこのファイルが Windows の PATH にある必要があります。


ということです。

参考:
PHP5でMySQLが使えない
PHP5でphp_mysql.dllをロードしようとすると"指定されたモジュールが見つかりません。" - ぐらめぬ・ぜぷつぇんのはてダ

id:zelazny No.2

回答回数95ベストアンサー獲得回数12

一番簡単な確認方法は phpinfo(); を出力することじゃないでしょうか?
入っているなら、mysqlブロックの他にmysqliブロックも表示されます。

有効にするためのextension指定も、別途mysqliのものが必要ですね。
extension=php_mysqli.dll

Windows用はバイナリビルドでインストールしているなら、ファイルが足りないということはなさそうです。
考えられるのは、設定が不足しているぐらいです。

  • id:nyahman55
    たにぐち明生様 アドバイスありがとうございます。

    参考にあげていただいたURLサイトのとおり設定を行いましたが、状況は変わらずうまくいきません。。。

    ほかに解決方法の心当たりがございましたら、どうかよろしくお願いいたします。
  • id:nyahman55
    zalazny様
    貴重なアドバイスありがとうございます。

    PHPiniを確認すると、
    extension=php_mysqli.dll
    はありました。

    phpinfo(); を出力して確認したところ、
    mysqlブロックやmysqliブロックの表示がありませんでした。
    また、PHPCOREの内容が、php iniを変更したにもかかわらず、変更内容が反映されていないのがきになります(例えばpost_max_sizeやmax_execution_timeの値)。

    PHPのダウンロードは、VC6 x86 Thread Safe (2011-Mar-22 13:29:30)のzipファイルをダウンロードしましたが、これでは必要なファイルがないのでしょうか?

    もしくはほかにいくつか設定が足りないのでしょうか?

    どうぞよろしくお願いいたします。
  • id:zelazny
    >また、PHPCOREの内容が、php iniを変更したにもかかわらず、変更内容が反映されていないのがきになります(例えばpost_max_sizeやmax_execution_timeの値)。

    ココから考えると、Apacheに読み込まれる時に使用するphp.iniが、考えているものと違ってるのではないでしょうか?
    phpinfo(); には、読み込まれているphp.iniの場所も書かれているはずです。修正しているphp.iniとパスが違っていませんか?
    確認してみてください。
    複数箇所で優先度順に読み込む順番が決まる、仕様だった記憶があります。

    Apacheへの読み込み指定(httpd.confでしょうか?)の前に、PHPIniDirというのを指定すると、使用するphp.iniが指定できます。(下が例です)

    PHPIniDir "C:/php/"
    LoadModule php5_module "C:/php/php5apache2_2.dll"
  • id:nyahman55
    zelazny様いつもありがとうございます。

    スタートボタンにあるApacheの「Edit the Apache httpd.conf Configuration File」から、
    LoadModule php5_module "C:/php/php5apache2_2.dll"記述の前に、
    PHPIniDir "C:/php/"を追加してApacheのリスタート、PCの再起動共に数回試しましたが、
    phpinfo()の値に変化はなく、状況は変わりません。
    特にphpinfo()の、「Configuration File (php.ini) Path」が、C:\Windows、
    「Loaded Configuration File」が 、(none) 、PHP Coreの内容も変化が見られません。。。

    phpinfo()の内容は以下のとおりです。
    Build Date Jan 6 2011 17:26:08
    Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" "--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared" "--without-pi3web"
    Server API Apache 2.0 Handler
    Virtual Directory Support enabled
    Configuration File (php.ini) Path C:\Windows
    Loaded Configuration File (none)
    Scan this dir for additional .ini files (none)
    additional .ini files parsed (none)
    PHP API 20041225
    PHP Extension 20060613
    Zend Extension 220060519
    Debug Build no
    Thread Safety enabled
    Zend Memory Manager enabled
    IPv6 Support enabled
    Registered PHP Streams php, file, data, http, ftp, compress.zlib
    Registered Stream Socket Transports tcp, udp
    Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*

    phpフォルダー内にあるphp.ini-recommendedファイルをゴミ箱へ入れたり、
    C:\Windows内にもphpiniが存在していたので、それをゴミ箱へ入れたりしましたが、
    状況は変わりません。

    他に方法がございましたら、どうか教えていただけないでしょうか。
    よろしくお願いいたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません