web-dev-qa-db-ja.com

wampはmysqli拡張機能をロードできません

WAMPは正常にインストールされましたが、問題はありませんが...

PhpMyAdminにアクセスすると、phpMyAdminから次のようなエラーが発生します。

Cannot load mysqli extension. Please check your PHP configuration

また、phpMyAdminのドキュメントでは、このエラーメッセージについて次のように説明しています。

MySQLサーバーに接続するには、PHPには「MySQL拡張機能」と呼ばれる一連のMySQL関数が必要です。この拡張機能は、PHPディストリビューション(コンパイル済み- in)、それ以外の場合は動的にロードする必要があります。その名前はおそらくmysql.soまたはphp_mysql.dllです。phpMyAdminは拡張機能をロードしようとしましたが失敗しました。通常、問題は「PHP-MySQL」または似たような。

最後に、Apache_error.logファイルには次のPHP警告(mySQL警告を参照)があります。

PHP Warning: Zend Optimizer does not support this version of PHP - please upgrade to the latest version of Zend Optimizer in Unknown on line 0
PHP Warning: Zend Platform does not support this version of PHP - please upgrade to the latest version of Zend Platform in Unknown on line 0
PHP Warning: Zend Debug Server does not support this version of PHP - please upgrade to the latest version of Zend Debug Server in Unknown on line 0
PHP Warning: Gd wrapper does not support this version of PHP - please upgrade to the latest version of Gd wrapper in Unknown on line 0
PHP Warning: Java wrapper does not support this version of PHP - please upgrade to the latest version of Java wrapper in Unknown on line 0
PHP Warning: mysql wrapper does not support this version of PHP - please upgrade to the latest version of mysql wrapper in Unknown on line 0

したがって、何らかの理由でPHPはmysql拡張機能を認識していません。

誰もが理由を知っていますか?解決策や回避策はありますか?

14
localhost

プログラムファイルのPHPを削除し、すべてが機能し始めました。pHpが2つインストールされているという問題があります。

19
Tanveer

私は多くの解決策を試しましたが、どれもうまくいきませんでした。私は次の解決策を試しました:

  • Wampserverを再起動します
  • Wampserverを再インストールします
  • マシンを再起動します
  • そして、この質問で言及された他のすべての解決策。

ただし、これらはいずれも機能しませんでした。次に、PHPMyAdminがchromeで機能しておらず、Firefoxで機能していることがわかりました。そこで、キャッシュのクリア、ブラウザの再起動などを試みましたが、それでも機能しませんでした。

次に、C:\wamp\tmpからすべてのファイルを削除してから再試行しましたが、機能します。なぜそれが機能するのかわかりませんが、これが私が思うことです。セッションはキャッシュされ、クリアされませんでした。したがって、このディレクトリ内のすべてのファイルを削除するとすぐに、すべてのセッションが削除されたため、正常に機能しました。

6
Virendra

まず、php.iniファイルがmysqli拡張子をロードしていることを確認します。
WAMPServerを使用している場合は、システムトレイのアイコンをクリックし、PHP-> PHP Extensionsに移動して、チェックされていることを確認します。そうでない場合は、php.iniファイルに移動し、次の行がコメント化されていないことを確認します:extension=php_mysqli.dllコメントが外されている(たとえば、;が存在する場合は削除します)。その行が存在しない場合は、追加します。

それでも機能しない場合は、正しいphp.iniファイルがロードされていることを再確認してください。
これを行うには、phpinfo()を表示します( Here for WAMPServer)。 Loaded Configuration File行まで下にスクロールして、どのphp.iniがロードされているかを確認します。Make sure it is the right file. If you're using WAMPServer, it should be(WAMPINSTALL FOLDER)\ bin\Apache\Apache2.2.11\bin\php.ini. By default, it isC :\ wamp\bin\Apache\Apache2.2.11\bin\php.ini`。

別のphp.iniファイルがロードされている場合は、ファイルの名前を別の名前に変更して、PHPが別の場所でファイルを見つけようとします。これを、eyouで指定する方法があるはずです。使いたいのですが、どうすればいいのか忘れてしまいました...

それでも機能しない場合は... phpMyAdminの設定をいじるか、別の回答を使用してみてください。ただし、これ以上のことはできません。

5
DeadHead

wampserverでphp.iniに移動します。ファイルを開き、それぞれのオペレーティングシステムのセミコロン(;)を削除して、extension = msql.dllのコメントを解除します。

1
Arti Lamba

また、mysqlパスワードを設定します。

SET PASSWORD FOR root@localhost=PASSWORD('your_password');

そして、config.inc.phpのphpmyadmin mysqlパスワード:

$cfg['Servers'][$i]['password'] = 'your_password';
1
mr.m

私も同じ問題を抱えていました。 WAMPサーバーをインストールしました。すべてが正常に機能していました。それからある日、コンピュータを再起動したところ、動作が停止しました。私は必死にすべてのヘルプ投稿を調べてそれらを実行しようとしましたが、何も機能しませんでした。

彼らが通常行うことを提案するのは、最初にphp.iniファイルに移動し、「extension_dir」が適切に設定されていることを確認することです。次に、これらの2行がコメント化されていないことを確認します(;前部を削除します):extension = php_mysql.dll extension = php_mysqli.dll

次に、これら2つのファイルの新しいコピーをダウンロードすることを提案する人もいましたが、どれも機能しませんでした。また、すべて(php/mysql/Apache)をアンインストールし、WAMPサーバーの新しいコピーを数回再インストールしようとしましたが、うまくいきませんでした。

ついに私は別の解決策を見つけることができました。 'easyphp'( http://www.easyphp.org/ )に切り替えました。これはWAMPと非常によく似ています。最初に、SQLデータベースのバックアップを作成して、新しいインストールでそれらを再ロードできるようにしました。

次に、「easyphp」をインストールしましたが、すべて正常に動作しているようです。バックアップからSQLデータベースをリロードしましたが、通常の状態に戻りました。

私は誰かが同様の問題に苦しんでいることを願っています。これが便利です。誰かがWAMPサーバーを機能させるための修正を本当に見つけた場合。 plsはここに投稿するのに十分親切なので、多くの人が恩恵を受けるでしょう。

1
Vicer

私は2つのPHPバージョン1)5.2.9と2)5.2.13でWAMPを実行していました。

サイトの要件に従って、PHPバージョンを5.2.13から5.2.9に変更する必要がありました。PHPバージョンを交換した後、エラーは「mysqli拡張機能がありません」でした」 。長い間デバッグした後、php.iniファイルの「extension_dir」パスが間違っていたことが原因であることがわかりました。

だから私はその値を変更しました:

古い: "extension_dir" c:/wamp/bin/php/php5.2.13/ext/

新規: "extension_dir" c:/wamp/bin/php/php5.2.9/ext/

Wampサーバーのすべてのサービスを再起動しました。その後修正されました。

1
Vikrant Ramteke

Php.iniを追加するだけです。

[PHP_MCRYPT]
extension=php_mcrypt.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
1
rafaelcarioca7

Windowsのパス変数をランダムバージョンのphpに設定しました。

修正は、それを更新して、wampserverインストール内のフォルダーに設定することでした。

C:\wamp64\bin\php\php5.6.38

次に、これは私の特定のケースでも間違っていることに気付きました。実際には、vagrant内からスクリプトを実行する必要があります。生活し、学びます。

0
Andrew

私は長い間この問題を抱えていました。
フォーラムで読んだことをすべて試しましたが、これでようやくうまくいきました。
php.iniを開いて(ロードされた適切なものがあると思います...)、次の行を見つけますmysqli.default_port = 3306
のために変える
mysqli.default_port = 80
すべてのサービスを再開します
localhost/phpmyadminに移動->機能しません
php.iniファイルを再度開き、これを再入力します
mysqli.default_port = 3306
すべてのサービスを再開します
私のために働いた。

0
Leo Stein

WampServerをインストールしたばかりですが、同じ問題が発生しました。私は解決策を見つけました、それは私のために働きます、それは途方もなく単純です。

  1. 無効にするPHP拡張子php_mysqli
  2. WampServerを再起動し、ローカルのphpmyadminにアクセスします。
  3. 有効にするphp_mysqli戻る。
  4. 手順2を繰り返します。

数ページの更新後、残りのエラープレート(約MySQLおよびsqli)はなくなりました。

0
Shadows In Rain

私にとっては、すべてのログ/インターネット/すべての非正常なものを検索した後、これを実行しました。次の方法でdlを登録する必要があります。

アプリケーションを通じて:

WAMP -> PHP settings -> enable dl

または

# php.ini #

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = On
0
danielpopa

何度も何度もwampをインストールし、php.iniファイルをチェックし、マシンを再起動し、index.phpファイルを置き換えて、一生懸命努力しました。

しかし、どれも機能しません。次に、wamp/tempに移動してすべてのファイルを削除すると、正常に動作するようになりました。

0
Shahbaz

同じエラーが発生しました。スクリプトのメモリサイズを増やしてE_ALLを有効にしてからサーバーを再起動すると、phpmyadminでそのエラーが発生しました。それを修正するために私がしなければならなかったのは私のコンピュータを再起動することだけでした!

0
Abdul

別の理由でこの問題が発生しました:

PHPエラーログ(Wampトレイから取得-> PHP-> PHPエラーログ。ファイルの編集中にphp.iniファイルの構文エラーが発生しました。ログを確認してエラーをクリアしてください。これにより、PhpMyAdminが正しく開きます。

0
Sajeev

私はこの問題を抱えており、すべてのソリューションをオンラインで2時間試しましたが、どれも機能しませんでした。

これを試してみました、そしてそれは目覚めました:

変化する

mysql.default_Host =

mysql.default_Host = localhost

wAMPを再起動します。 mysqliを使用しているかどうかに注意してください。

0
degenerate

Wampで同じ問題がありました。現在のバージョンのphp.iniをバックアップと交換してみてください。に1つあります:wamp\bin\php\php5.3.0phpForApache.txt。私のために働いた。

0
Sven

これにチャイムを入れたかっただけです。 Wamp Server 2.0を使用し、ZendStudioとZendデバッガーを使用して開発します。

私はまだ(いつか戻ってくるでしょう)zendデバッガーをphp5.3で動作させることができませんでした。そのため、wampで以前のphpバージョン5.2.11をロードしました。管理者のphpにアクセスしたときに同じエラーが発生していました。

私がしなければならなかったのは、「extension_dir」のphp.iniファイルの値をc:/wamp/bin/php/php5.2.11/ext/に変更して、使用していたphpのバージョンと一致させることでした。その後はすべて良かった。

0
Kelly