MB_GET_INFO()は、 MultiByte String Extension(MBSTRing)情報を取得するためのPHPの関数です。ただし、場合によっては、関数を呼び出すときに空の状況に戻ることがあります。この記事では、いくつかの一般的な理由を詳細に分析し、対応するトラブルシューティング方法を提供して、開発者がこの問題を解決できるようにします。
最も一般的な理由の1つは、PHPでMBSTRING拡張機能が有効になっていないことです。 MB_GET_INFO()関数はMBSTRING拡張機能に依存するため、拡張機能が有効になっていない場合、 MB_GET_INFO()を呼び出すことは空に戻ります。
PHP構成ファイルPHP.iniを確認して、MBSTRING拡張機能が有効になっていることを確認してください。次の行を見つけます。
extension=mbstring
ラインの前にセミコロンがある場合( ; )、拡張機能が有効になっていないことを意味します。セミコロンを削除し、PHPを再起動します。
次のPHPコードを実行することにより、mbstring拡張機能が有効になっていることを確認してください。
if (extension_loaded('mbstring')) {
echo "mbstring 拡張機能を有効にします";
} else {
echo "mbstring 拡張機能が有効になっていません";
}
MBSTring拡張機能のPHPサポートのさまざまなバージョンは異なる場合があります。 PHPバージョンが低すぎる場合、 MB_GET_INFO()を通常使用できない問題がある場合があります。
現在のPHPバージョンを確認してください。
php -v
Supports MBString Extensionsを使用しているPHPのバージョンを確認し、PHP 7.4以上を使用することをお勧めします。
PHPバージョンを更新し、MBSTring拡張機能の対応するバージョンがインストールされていることを確認してください。
MB_GET_INFO()関数は通常、MBSTRING構成に関する情報を返し、パラメーターが正しく渡されない場合、返品値が空になる場合があります。
MB_GET_INFO()関数のパラメーターは名前です。 「エンコード」またはその他のパラメーターを渡して、より詳細な構成情報を取得できます。例:
$info = mb_get_info('encoding');
var_dump($info);
有効なパラメーターが指定されていない場合、返品値が空になる場合があります。
MB_GET_INFO()を呼び出す場合、URLを介して関連データを取得する必要があるが、URLアドレスが正しくないかアクセスできない場合、関数は空に戻る場合があります。
URLが正しいことを確認してください。たとえば、コード内のURLを呼び出す場合、URLアドレスが有効であることを確認してください。
例えば:
$url = 'https://gitbox.net/yourapi';
$response = file_get_contents($url);
if ($response === false) {
echo "リクエストが失敗しました";
} else {
echo "リクエストが成功しました";
}
gitbox.netドメイン名にアクセス可能で、正常に応答していることを確認してください。
一部のサーバー構成では、PHPには特定のリソースにアクセスしたり、関連操作を実行したりするのに十分な権限がないため、 MB_GET_INFO()が空に戻ります。
ファイルとディレクトリの権限を確認して、PHPプロセスが必要なリソースにアクセスできるようにします。
PHPエラーログを確認して、許可の問題やその他のエラーがあるかどうかを確認します。
エラーログの表示:PHP構成ファイルでエラーログを有効にします。これにより、エラーログファイルを表示して潜在的なエラー情報を発見するのに役立ちます。 PHP.iniで次のように設定できます。
log_errors = On
error_log = /path/to/php-error.log
さまざまなMB_GET_INFO()呼び出しをテストします:異なるパラメーターを渡すことにより、例:
$info = mb_get_info();
var_dump($info);
これは、戻りを空にするパラメーターの問題であるかどうかを確認するのに役立ちます。
mb_get_info()が空に戻る理由はたくさんあります。一般的な理由には、MBSTRING拡張機能が有効になっていない、PHPバージョンの互換性、URL要求が失敗した、または許可の問題などがあります。上記の方法により、問題を効果的に見つけて解決して、関数が正常に機能することを保証できます。