HOME >> Tips >> PHP

The mbstring extension is missing. エラーの対処方法

2017/1/6
文書番号:20651


phpMyAdmin を構築してアクセスした際や、その他 mbstring 拡張を使用している PHP へアクセスした際に以下のようなエラーが発生した場合の対処方法です。

==================================================================
The mbstring extension is missing. Please check your PHP configuration. ==================================================================


クリックで拡大


「php.ini」の設定を変更してmbstring拡張を有効にする必要があります。

【設定手順】

  1. 「php.ini」を開きます。
    「php.ini」の場所は「読み込まれている php.ini の場所を確認する方法」を参照してください。

  2. 738行目付近にある「;extension_dir = "ext"」の行を(念のため)コピーして値を編集します。

    「php」フォルダー内にある「ext」フォルダーのパスを指定します。
    ※php のバージョンなどによって行数は異なる場合があります。
    
    extension_dir = "C:\Program Files\php\ext
    

    クリックで拡大

  3. 903行目付近にある以下の行の先頭の「;」を削除して有効にします。
    ※php のバージョンなどによって行数は異なる場合があります。
    
    extension=php_mbstring.dll
    

    クリックで拡大

  4. mbstring の設定関係を設定します。
    mbstring.language = Japanese 言語の指定を日本語にします
    mbstring.internal_encoding = UTF-8 変換元のデフォルトのエンコードを指定します
    mbstring.http_input = pass
    mbstring.http_output = pass
    mbstring.encoding_translation = Off
    http通信時のインプットとアウトプットの文字列変換で自動変換されないようにします。
    mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII 文字コードの自動判別を行う際に文字コードを判断する順序を明示的に指定します。
    mbstring.substitute_character = none 文字列変換に失敗した場合に変わりに出力する文字列を指定します。何も出力しないので「none」を指定します。
    mbstring.func_overload = 0 シングルバイト対応の関数をマルチバイト対応の関数でオーバーロードするかどうかを指定します。オーバーロードしないように「0」を設定します。
    mbstring.strict_detection = Off 文字コードの判別を厳密に行うかどうかを指定します。とりあえずOffにしておきます。

【IIS を再起動します】

    「php.ini」を変更したら IIS を再起動します。
  1. キーボードの Windwos ロゴキーを押しながら「R」キーを押します。

    クリックで拡大

  2. 「ファイル名を指定して実行」ダイアログが起動します。
    「inetmgr」と入力して「OK」をクリックします。

    クリックで拡大

  3. IIS マネージャーが起動します。
    左ペインのツリー表示部で一番上のコンピューター名の部分をクリックします。

    右側の「操作」ペインで一番上の「再起動」ボタンをクリックして再起動します。

    クリックで拡大

  4. IIS が再起動したらもう一度エラーが出た画面へアクセスしてみます。