19

何が起こったのかわかりませんが、phpmyadmin にアクセスしようとしたときにログに表示される内容を以下に示します。助けてください。別の問題をデバッグしようとして、これに遭遇しました。それが機能していたときに戻ることは実際には不可能です。

PHP 致命的なエラー: 177 行目の /usr/share/php/gettext/gettext.inc の未定義関数 mb_detect_encoding() の呼び出し

サイトにアクセスしようとすると、次のエラーが表示されます。2 つのエラーが関連している可能性が高いと思います。

データベース接続エラー (1): MySQL アダプター 'mysqli' は使用できません。

4

15 に答える 15

27

最初のエラーは、拡張子 mbstring がインストールされていないかアクティブでないため、php が原因です。

2 番目のエラーは、mysqli 拡張機能のインストール/有効化を求める phpMyAdmin/your site の出力です。

mbstring と mysqli を有効にするには、php.ini を編集し、unix では mbstring.so と mysqli.so、Windows では mbstring.dll と mysqli.dll の 2 行を追加/コメント解除します。

Unix /etc/(phpX/)php.ini

extension=mysqli.so
extension=mbstring.so

Windows PHP インストール フォルダ\etc\php.ini

extension=mysqli.dll
extension=mbstring.dll

この後、ウェブサーバーを再起動することを忘れないでください。

編集: ユーザーがコメントで redhat を使用していると追加したので、CentOS/Fedora/RedHat/Yum ベースのすべての Linux ディストリビューションに拡張機能をインストールする方法を次に示します。

sudo yum install php-mysqli
sudo yum install php-mbstring

restart your werbserver
sudo /etc/init.d/httpd restart

ドキュメント ルートにある小さな php スクリプトを使用して、インストールを確認できます。これは、php にインストールしたすべての設定、バージョン、アクティブな拡張機能を一覧表示します

test.php

<?php
phpinfo();
于 2012-11-12T21:24:53.173 に答える
10

ubuntu 16.04でphpmyadminに接続しようとすると、白い空白のページが表示されたので、上記のコマンドを実行するとphpmyadminが機能しました

sudo apt-get install php-mbstring php7.0-mbstring php-gettext

mysql サポート用インストール

sudo apt-get install php7.0-mysql

php 7バージョンのubuntu 16.04でテスト済み

于 2016-05-01T15:42:03.727 に答える
3

PHPインストールにmbstring拡張機能mysqliアダプター拡張機能がインストールされていないようです。

確認するか、ターミナルでphpinfo();実行してください。php -i | grep 'mbstring\|mysqli'

于 2012-11-12T21:17:04.040 に答える
2

php.ini、私は変更しなければなりませんでした

extension_dir = "ext"

extension_dir = "C:/PHP/ext"

私のPHPはにインストールされていたのでC:\PHP/の代わりに使用する必要がありましたが\、うまくいきました。

mbstringsmysqliおよびmysql拡張機能もコメント解除します。

于 2014-05-15T04:37:57.273 に答える
1

PHP を mbstring で再コンパイルします。

./configure --enable-http --with-apxs2 --with-mysql --with-gd --with-curl --with-mbstring

make 

make install
于 2014-09-25T06:36:22.237 に答える
1

(WindowsでXAMPPを使用して)私を助けたのは、次のことでした:

  • 私のパスにPHPの正しいパスが含まれていることを確認してください(2つのPHPインストールがあり、1つはその下c:\phpにあり、XAMPPインストールは c:\xampp\php使用したかったものです)

  • extension_dir="C:\xampp\php\ext"
    extension=php_mbstring.dll
    extension=php_exif.dll ; Must be after mbstring as it depends on it
    行がphp.iniファイルでコメント解除されていることを確認してください(つまり;、最初にコメントがありません)
  • Apache サーバーを再起動します
  • 最後になりましたが、ページをリロードするときにキャッシュをクリアしますhttp://localhost/phpmyadmin/ (たとえば、Chrome で Ctrl-F5 を使用)。
于 2013-10-15T10:38:36.033 に答える
0

mysqliとpdoをインストールしてみてください。ターミナルに入れてください:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
于 2012-11-12T21:19:58.807 に答える
0

私は同じ問題を抱えていましたが、これが私にとってうまくいきました。

wampserver アイコンをクリックしてから、PHP エラー ログをクリックします。次のように表示されているかどうかを確認します。 Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll'

はいの場合は、wampserver アイコン、PHP、バージョンの順にクリックし、バージョンをクリックして、PHP のバージョンをリロードできます。すべてが再びオンラインになるのを待ってから、phpmyadmin にアクセスしてみてください。

于 2015-03-02T00:40:52.510 に答える
0

オプションの 1 つ: この拡張機能を無効にする_dir = "ext"

もう1つは次のとおりです。

wamp アイコンに移動して php を確認し、php エラー ログをクリックすると、エラー ログから正確なエラーを見つけることができます。

このエラーは、パスが正しく設定されていない場合にのみ発生します。

于 2014-12-11T05:53:15.447 に答える
0
  1. 一部のバージョンの Windows には、mysql および mysqli 拡張機能をロードするために必要な libmysql.dll が付属していません。C:/Windows/System32(Windows 7、32 ビット) で使用できるかどうかを確認します。そうでない場合は、DLL-files.comからダウンロードして、C:/Windows/System32 にインストールできます。
  2. これが続く場合は、Apache ログ ファイルを確認し、サーバーによってログに記録されたエラーに対応する上記の解決策に頼ってください。
于 2014-04-06T23:33:19.123 に答える
0

私の推測では、PHP 構成で mysqli 拡張機能が有効になっていることを確認してください。詳しい情報があれば幸いです (例: OS、AMP スタックなど)。

mysqli の php.ini 構成をチェックインし、「;」がないことを確認します。エクステンション前。私のセットアップで有効になっているのは、php_mysqli_libmysql.dll です。

于 2012-11-12T21:22:51.683 に答える