• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Call to undefined function mb_strlen())

mb_strlen()関数が使えません。エラーが表示される理由とは?

このQ&Aのポイント
  • Windows XP SP3、Apache2.2.8、PHP5.2.6の環境でmb_strlen()関数が使えません。「Call to undefined function mb_strlen()」というエラーが表示されます。
  • 問題はphp.iniの設定に関連している可能性があります。特に[mbstring]の部分の設定に問題があるかもしれません。
  • [mbstring]の設定項目にはmbstring.language、mbstring.internal_encoding、mbstring.http_output、mbstring.encoding_translation、mbstring.detect_order、mbstring.substitute_character、mbstring.func_overloadが含まれます。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_netbug
  • ベストアンサー率34% (15/44)
回答No.2

php_mbstring.dllは入っていますか? 入っているのであれば、自分で記述すればよいと思いますよ~。 ちなみにXAMPPだと設定を行わなくてもつかえたと思うのですが…。

参考URL:
http://www.apachefriends.org/jp/xampp-windows.html
taropoo
質問者

お礼

C:\Program Files\PHP\ 配下にはphp_mbstring.dllは入っていませんでした。 紹介いただいたXAMPPを導入したら問題解決しました。 ただ、文字コードの設定で多少てこずったので、報告させていただきます。 まず、文字コードの設定は下記のサイトを参考にしました。 http://centos.server-manual.com/apache.html ところが設定が反映されず、文字化けを起こしてしまいました。 C:\xampp\php\php.ini をいじっていたのですが反映されず C:\xampp\php\php5.ini というファイルがあったのでこちらかと思いましたがまた反映されませんでした。 XAMPP for Windowsのサイトのよくある質問の中に「質問6: どこから設定を変更できますか?」というのがあり、そこには 「PHP: .\xampp\apache\conf\php.ini」 とあるのですが、ここにはphp.iniはありません。ここへコピーすればいいのかと思ったのですが、やはり反映されませんでした。 ローカルのphpinfo()を見た所、「Loaded Configuration File 」が「C:\xampp\apache\bin\php.ini」とありました。このファイルを編集したところ、ようやく思い通りに動いてくれました。 苦労はしましたが解決できた事が嬉しかったです。 ご紹介いただきありがとうございました。

その他の回答 (1)

回答No.1

php.ini内にある 「;extension=php_mbstring.dll」 と記述されている部分の「;」を削除して保存後、apacheを再起動すれば大丈夫だと思います。

taropoo
質問者

補足

回答ありがとうございます。 php.ini内に ;extension=php_mbstring.dll という行が無いのですが。

関連するQ&A