• ベストアンサー

Fatal error: マルチバイト文字列関数

Fatal error: Call to undefined function mb_convert_encoding() 上記のようなエラーが出てしまい、困っています。 現状、phpinfo()で調べてみると 出現するはずのmbstringという項目がありません。 php.iniの状態が悪いのかと調べてみると extension=php_mbstring.dll の前には、;が無い状態です。 他の設定はこのようになっています。 mbstring.language = Japanese; mbstring.internal_encoding = UTF-8 ; mbstring.encoding_translation = On mbstring.http_input = auto ; mbstring.http_output = UTF-8 ; mbstring.detect_order = auto ; mbstring.substitute_character = none ; php.iniというファイル自体が2つあるとこのようなエラーがでるという 事例もあったので、検索をかけてみましたが php.iniというファイルは一つしか見つかりませんでした。 また、PHP自体、mb_の付く関数をはずすと、文字化けはしますが きちんと動いてくれました。 動作環境は win PHP5 Apache です。 どこを改善すれば、直ってくれるでしょうか? 教えて頂けると嬉しいです。 よろしくお願いします。

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

  • ベストアンサー
回答No.2

extension_dirのパスはあってますか?もしくは{extension_dir}が指すディレクトリにphp_mbstring.dllが存在しないとか。

kanan86
質問者

お礼

回答ありがとうございました。 extension_dirのパスを見てみたのですが 下記のように、 C: の後に / が一つ抜けていました! 修正前:extension_dir = "C:php/ext" 修正後:extension_dir = "C:/php/ext" これを、修正したことによりFatal errorは出なくなりました! 本当にありがとうございました!!

その他の回答 (1)

回答No.1

> hp.iniというファイルは一つしか見つかりませんでした > php.iniの状態が悪いのかと調べてみると 外している可能性が高いのですが・・・ PHPINFO を表示して PHP.INI は正しい PHP.INI を示しています? 以前に PHPの動作に悩んでいたら・・・修正していた PHP.INI とは別の PHP.INI を読んで動作していたことがあったので。

kanan86
質問者

補足

回答ありがとうございます。 phpinfoでは、正しいものを表示しています。 書かれていたアドレスをコピペしてファイルを表示し 再度確認してみましたが、やはり設定は先述の通りでした・・・。