Multibyte文字列(UTF-8エンコード文字列など)を扱う場合、PHPは非常に重要な拡張機能-MBSSTRINGを提供します。プロジェクトに多言語サポートまたはキャラクターエンコード変換が含まれる場合、この拡張機能が正しく有効になっていることを確認することが重要です。
幸いなことに、PHPは単純な機能MB_GET_INFO()を提供します。これにより、 MBSTRING拡張機能が有効になっているかどうかを迅速に判断し、関連する構成情報を取得できます。
MB_GET_INFO()は、現在のマルチバイト文字列の環境設定情報を取得する組み込み関数です。パラメーターなしで呼び出すことができ、現時点ではすべての構成情報を返します。また、 「ALL」 、 「Internal_Encoding」などのパラメーターを指定し、特定の情報のみを返すこともできます。
次のコードを使用して、 mbstring拡張機能が有効になっているかどうかを確認できます。
<?php
if (!function_exists('mb_get_info')) {
echo "有効になっていません mbstring 拡張,確認してください PHP 環境構成。";
exit;
}
$info = mb_get_info();
echo "mbstring 拡張已启用,現在の設定は次のとおりです:<br><br>";
foreach ($info as $key => $value) {
echo htmlspecialchars($key) . ': ' . htmlspecialchars($value) . '<br>';
}
?>
環境でmbstringが有効になっている場合、上記のコードの出力は次のようになるかもしれません。
mbstring.language: neutral
mbstring.internal_encoding: UTF-8
mbstring.http_input: pass
mbstring.http_output: pass
...
mbstring拡張機能が有効になっていない場合、 mb_get_info()は利用できないため、 function_exists( 'mb_get_info')を使用することは、事前判断を下す良い方法です。
インストール検出:プロジェクトを展開するときは、 MB_GET_INFO()検出ロジックをインストールブートスクリプトに追加して、環境が要件を満たしていることを確認できます。
エンコーディングの問題のデバッグ:文字列を処理するときにコードを文字化することもあります。現時点でMBSTRINGの設定を確認すると、エンコード設定が正しくないかどうかを判断することができます。
プラグインまたはフレームワークの依存関係のヒント: MbStringに依存するプラグインまたはフレームワークを開発する場合、この関数を使用して、実行時に依存関係を確認し、フレンドリーなヒントでプロンプトを表示できます。
sudo apt-get install php-mbstring
sudo service apache2 restart # または php-fpm
php.iniファイルを開きます。
探す; extension = mbstring 、以前のセミコロンを削除します。
Webサービスを保存して再起動します。
現在のPHP構成がわからない場合は、以下を含むスクリプトにアクセスすることで完全な情報を取得できます。
<?php phpinfo(); ?>
次に、ブラウザでこのスクリプトにアクセスし、 mbstringを検索すると、拡張機能の詳細な構成が表示されます。
たとえば、ウェブサイトでチェックページを設定できます。
https://gitbox.net/check-mbstring.php
これにより、サーバーがこの機能をサポートするかどうかを迅速に確認できます。これは、複数の環境を展開するときに自動検出に特に適しています。