PHP で mb_convert_kana() を使おうとしたら、以下のようなエラーが出ました。
PHP Fatal error: Call to undefined function mb_convert_kana() in ...
これは、使っている PHP 環境に mbstring というモジュールが入っていない場合に生じます。
mbstring は拡張モジュールなので、デフォルトではインストールされないようです。
(Windows の XAMPP などを使っている場合は最初からインストールされるように設定されているようですが)
これを解決するためには、以下の作業を行います:
- mbstring モジュールをインストールする
- php.ini で mbstring モジュールを有効化する
以下に、いくつかのケースでの対応方法を紹介します。
Windows で PHP をインストールした場合
XAMPP の場合はあらかじめ mbstring が有効になっているようですが、そうでない場合は、php.ini ファイル内で mbstring モジュールを有効化します。
php.ini 内の
;extension=php_mbstring.dll
という行を見つけて、以下のように行頭のセミコロン「;」を削除します。
extension=php_mbstring.dll
その後、Web サーバーを再起動する必要があります。
yum を使って PHP をインストールしている場合
Linux などで yum を使って PHP をインストールした場合は、
yum を使って mbstring もインストールできます:
# yum install php-mbstring
php.ini への登録も同時に行われます。
インストール後、Web サーバーを再起動します。
ソースコードからコンパイルした PHP を使っている場合
ソースコードからコンパイルした PHP を使っている場合は、mbstring モジュールを有効化した上で再コンパイルする必要があります。
具体的には、configure スクリプト実行時に「–enable-mbstring」というオプションを付けておきます。
コンパイル&インストール後、Web サーバーを再起動します。