MySQL5.5、APACHE2.2、PHP5.2、PHPMyAdminをインストールし、
各種設定を終えたところで、PHPMyAdminにて確認したところ、
「mysqli 拡張がありません。PHP の設定をチェックしてみてください。」
とエラーがでます。
mysqliの拡張が現在ちゃんと入っているのかどうかの確認や、必要な拡張のインストール方法がわからず困っています。
もしくはほかの原因でこのエラーが出ているのかもわかりません。
どなたかこの解決方法をご存知の方、教えていただければ大変幸いです。
どうかよろしくお願いいたします。
MySQL はもはやデフォルトでは有効となりません。したがって php.ini で php_mysql.dll DLL を有効にしておく必要があります。 また、PHP が MySQL クライアントライブラリにアクセスできなければなりません。 libmysql.dll というファイルが Windows 版の PHP 配布ファイルに含まれており、PHP が MySQL と話すためにはこのファイルが Windows の PATH にある必要があります。
ということです。
参考:
PHP5でMySQLが使えない
PHP5でphp_mysql.dllをロードしようとすると"指定されたモジュールが見つかりません。" - ぐらめぬ・ぜぷつぇんのはてダ
参考にあげていただいたURLサイトのとおり設定を行いましたが、状況は変わらずうまくいきません。。。
ほかに解決方法の心当たりがございましたら、どうかよろしくお願いいたします。
貴重なアドバイスありがとうございます。
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ファイルをダウンロードしましたが、これでは必要なファイルがないのでしょうか?
もしくはほかにいくつか設定が足りないのでしょうか?
どうぞよろしくお願いいたします。
ココから考えると、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"
スタートボタンにある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が存在していたので、それをゴミ箱へ入れたりしましたが、
状況は変わりません。
他に方法がございましたら、どうか教えていただけないでしょうか。
よろしくお願いいたします。