ホームページ >バックエンド開発 >PHPチュートリアル >MB モジュールに対する PHP ソリューション
MB モジュールに関する PHP
致命的なエラー: /usr/local/apache2/htdocs/include/application.php の 29 行目で未定義関数 mb_internal_encoding() を呼び出します
--- ---解決策--------------------
mbstring
php_mbstring.dllがphp.iniにロードされているかどうかを確認してください
------解決策-----------
dll は win 上のライブラリであり、ポスターはリナックス。
[mbstring]
; マルチバイト文字列モジュールは、デフォルトの NLS (ローカル言語設定)、設定可能な値をサポートします。は次のとおりです:
; デフォルト値「中立」は中立を意味し、不明と同等です。
; 「zh-cn」または「簡体字中国語」は簡体字中国語
を意味します; 「zh-tw」または「繁体字中国語」は繁体字中国語を意味します
; 「uni」または「ユニバーサル」は Unicode
を意味します。 ; このディレクティブは、後続の mbstring.internal_encoding ディレクティブ
のデフォルト値を自動的に定義し、mbstring.internal_encoding ディレクティブはこのディレクティブの後に配置する必要があります。
mbstring.internal_encoding =
; このディレクティブは mbstring.lang ディレクティブの後に配置する必要があります。
; デフォルトの内部エンコーディングは、設定されていない場合、mbstring. language ディレクティブの値によって異なります。 「EUC-CN」(「GB2312」に相当)
; 「zh-tw」は「EUC-TW」(「BIG5」に相当)
に対応します。 ''
; 簡体字中国語の場合は、強制的に "CP936" ("GBK" に相当) に設定することもできます。 注: SJIS、BIG5、GBK は内部エンコーディングとして適切ではない可能性があります。 GB2312」は間違いなく大丈夫です。
;
mbstring.encoding_translation = Off
; mbstring.internal_encoding ディレクティブに従って、透過的なエンコード変換を実行するかどうかを手動で指定することをお勧めします。入力文字エンコーディングを自動的に検出し、透過的に内部エンコーディングに変換します。
; ポータブル ライブラリまたはプログラムは、自動エンコード変換に依存してはなりません。
mbstring.http_input = “pass”
; デフォルトの HTTP 入力エンコーディング、「pass」はスキップ (変換なし) を意味します
; 「aotu」の意味は mbstring.detect_order の場合と同じです。コマンド 説明は同じです。
; は、単一の値またはカンマ区切りのリストに設定できます。
mbstring.http_output = "pass"
; デフォルトの HTTP 出力エンコーディング、「pass」はスキップ (変換なし) を意味します
; 「aotu」の意味は mbstring.detect_order と同じです。コマンド 説明は同じです。
; は、単一の値またはカンマ区切りのリストに設定できます。
; Output_handler ディレクティブは「mb_output_handler」に設定する必要があります。
mbstring.detect_order =
; デフォルトのエンコード検出順序。「パス」はスキップ (変換なし) を意味します。
; デフォルト値 ("auto") は mbstring. language ディレクティブによって変更されます:
; "ニュートラル" および "ユニバーサル" は "ASCII、UTF-8" に対応します。 " ASCII、UTF-8、EUC-CN、CP936"
; "繁体字中国語" は "ASCII、UTF-8、EUC-TW、BIG-5"
に対応します。手動で強制的に入力することをお勧めします。制御された環境 単一値
mbstring.func_overload = 0
;SYS
; mb_* 関数を自動的に使用して、対応するシングルバイト文字列関数をオーバーロードします。
; 例: mail()、ereg() は mb_send_mail()、mb_ereg()
; ビットの組み合わせは 0、1、2、4 で作成できます。たとえば、7 はすべてを置き換えることを意味します。具体的な置換命令は次のとおりです:
; 0: 置換なし
; 1: mail() → mb_strlen() → mb_substr()
; strpos() → mb_strpos() → mb_strtolower() → mb_strtoupper()
; 🎜>; 4: ereg() → mb_ereg() ; ereg_replace() → mb_ereg_replace()
;
mbstring.scrīpt_encoding =
; スクリプトで使用されるエンコーディング
mbstring.strict_detection = Off
; 厳密なエンコーディング検出を使用するかどうか
mbstring.substitute_character =
; 文字をデコードできない場合は、この文字が代わりに使用されます。
; 整数に設定すると、対応する Unicode 値を表します。値を設定しないことは、このエラー文字を表示しないことを意味します。
; 「□」に設定することをお勧めします
mbstring.strict_encoding = Off;デフォルト値は不明です
; これに関するドキュメントはありません。指示
------解決策---------
php.ini で
を見つけます = php_mbstring.dll
直前のセミコロンを削除します。 Apacheを再起動してみてください。
------解決策---------
mbstring php は既に付属しています。php をコンパイルするだけです。 -enable-mbstring。php
を再コンパイルするか、mbstring を個別にコンパイルします。