- ベストアンサー
PHPでメール送信のスクリプトを書く際のエラーについて
- 独学でPHPの勉強をしている中で、メール送信のスクリプトを書いたがエラーが発生し、送信できない状況です。
- エラー内容は 'Fatal error: Call to undefined function mb_language()' です。
- php.iniでの設定や関数の調査を行いましたが、解決できず困っています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> extension_dir = "c:/php/ext" > こちらでただしいのでしょうか? C:\php\extの下に、php_mbstring.dllなどの DLLファイルがありますか?全部で40個以上あるはずです。 また、以下のスクリプトを実行したとき、 mbstringの項を表示しますか? <?php phpinfo(); ?>
その他の回答 (3)
> ;extension_dir directive aboveのような形になっております。 > ; Be sure to appropriately set the extension_dir directive. コメント行ではなく、 extension_dir = なんとか と設定してある行がありませんか? もしもないとすると、外部ライブラリを使うことができません。 > あまり詳しくなく大変申し訳ないのですが、その部分はいじっておりません。 上に引用したコメント行にあるとおり、 extension_dirディレクティブを適切に設定しないと、使えません。
> apacheを再起動した際にunable to load dynamic library ~ext\php_mbstringと出てしまいます。 php.iniのextension_dirの設定内容はどうなっていますか?
補足
;extension_dir directive aboveのような形になっております。 ; Be sure to appropriately set the extension_dir directive. あまり詳しくなく大変申し訳ないのですが、その部分はいじっておりません。
さしあたり、mb_language()を呼び出している箇所を コメントにしてみてはいかがでしょうか。 なくても、特に問題ないと思います。 また、Webサーバは何をお使いですか? 肝心なことですが、php.iniの設定を変更した後、 Webサーバをリスタートさせていますか?
補足
さっそくの回答ありがとうございます。 mb_languageの所はコメントにしてみます。 またウェブサーバですがlocalhostで使用しており、 apacheを使用しております。 またここで記載しわすれてしまったのですが apacheを再起動した際にunable to load dynamic library ~ext\php_mbstringと出てしまいます。
お礼
先ほど調べてみたのですが extension_dirの記載部分をみつけました。 下記の通りになっておりました。 extension_dir = "c:/php/ext" こちらでただしいのでしょうか? またmb_languageの部分をコメントにしたのですが、 Fatal error: Call to undefined function mb_send_mail() とのエラーが出てしまいました。 お礼の欄でこのようなことを書いてしまいまして 申し訳ございません。
補足
ご親切に対応をして頂きましてありがとうございます。 extension_dir=なんとかと設定してる所が見当たりません。 もう一度extension_dirについて今から調べてみます!