22

私が現在経験しているこの懸念について、あなたの意見を聞きたかったのです。次のことがわかります。

 <?php
$disc_t=$name; 
  if(strlen($disc_t)<=15)
  {
   $name_now=mb_substr( strip_tags($disc_t), 0, 10 ).'';
  }
  else
  {
   $name_now=mb_substr( strip_tags($disc_t), 0, 10).'...';
  }
?>

どういうわけか、サイトでエラーが表示されます。エラーは次のように表示されます。

Fatal error: Call to undefined function mb_substr() in /home/(website)/public_html/index.php on line 308

の意味がよくわかりませんmb_substrが、これは PHP のバージョン エラーですか? 現在PHP 5.3.19を使用しています

4

4 に答える 4

29

mb_substr()は のマルチバイト セーフ バージョンですsubstr()。つまり、バイトではなく文字で動作ます。これは、多くの文字が 2 バイト以上で表現される UTF-8 で最も顕著です。

インストール手順によると、mbstringは組み込みの拡張機能ではありません。適切なファイルを用意し、PHP を正しく構成して、有効にする必要があります。いくつかの情報は提供されたリンクで見つけることができます。残りの部分については、ウェブホストがお手伝いできるはずです。

mbstring がインストールされているかどうかを確認するには: php -m | grep mbstring

Linux の場合、次を使用してインストールします。

sudo apt-get install php-mbstring

于 2012-12-26T03:34:49.127 に答える
17

これを端末に投げます:

php -m | grep mb

表示された場合mbstringは、動作するはずです。

于 2012-12-26T03:38:55.810 に答える
2

root アクセス権がある場合は、WHM パネルまたはコマンド ラインを使用して構成できます。WHM Panelを使用してそれを行う方法をお知らせします。
1. root ユーザーで WHM にログインします
。 2. Easyapache に移動し
ます。 3. 以前に保存した構成に移動します
。 4. [プロファイルに基づいてカスタマイズを開始] をクリックします。
5. Apache と php のバージョンは変更せず、そのまま [次へ] をクリックします。
6. PHP 構成の下部にある Exhaustive options list をクリックします
。 7. MBString オプションの近くにあるチェックボックスを選択します
。 8. 保存してビルドします
。 9. 時間がかかる場合は、ブラウザー ウィンドウを閉じないでください。我慢して。
あなたは完了です!!!

于 2015-12-16T07:35:51.083 に答える
-2

このエラーは、存在しない mb_substr という名前の関数を使用しようとしていることを示しています。

おそらく、代わりに substr 関数http://php.net/manual/en/function.substr.phpを使用して同じ結果を得ることができます 。substr(strip_tags($disc_t), 0, 10) は、 strip_tags($disc_t) の結果の最初の 10 文字を返します。

于 2012-12-26T03:37:52.757 に答える