[Linux] phpMyAdminインストール時に mbstring エラーが出たときの対処方法

CentOS7にPHP5.4がインストールされている状態で phpMyAdmin ver4 をインストールしてみると、「phpMyAdmin – Error The mbstring extension is missing. Please check your PHP configuration.」というメッセージが出力されました。

[環境]
CentOS Linux release 7.3.1611 (Core)
PHP 5.4.16
phpMyAdmin 4.0.10.1

エラーの内容

サーバーの公開用ディレクトリにphpMyAdminのファイルをアップロードしてアクセスしてみると以下のような画面になりました。
2017-03-27_12h43_43

php.iniでmbstringを設定

このエラーメッセージはmbstring関連の設定がされていない、間違っているのが原因です。「mbstring 」は「php.ini」で編集します。
viで php.ini ファイルを開きます。

# vi /etc/php.ini

mbstring関連の下記の項目を変更します。php.iniファイルは多くの場合行の先頭に「;」が付いています。これはコメントアウトなので、必要な行は「;」を削除して、有効な状態にします。

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
mbstring.strict_detection = Off
mbstring.http_output_conv_mimetype=

※ mbstring.http_input と mbstring.http_output はHTTP通信時のインプット・アウトプットの文字コードの設定です。passは自動変換しないという意味です。
※ mbstring.substitute_character は変換に失敗したときに代用として出力する文字です。noneは何も出力しないという意味です。
※ mbstring.func_overload は自動オーバーロードの設定です。0はオーバーロードしないという意味です。
※ mbstring.strict_detection は文字コードの自動判別を詳細に行うかの設定です。
※ mbstring.http_output_conv_mimetype= はコメントアウトのままでもよいですし、コメントアウトを外して=の後は何も設定しない状態でも構いません。

「php.ini」を初めて触る場合は以下の項目も設定しておきましょう。

default_charset = "UTF-8"
date.timezone = "Asia/Tokyo"

再起動

php.ini編集後はサーバーを再起動させて設定を有効にします。

# reboot


Author: webmaster