致命错误:调用未定义的函数mb_substr()

时间:2012-12-26 03:30:33

标签: php string

我想看看你对我目前正在经历的这种担忧的看法。 事实证明:

 <?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 个答案:

答案 0 :(得分:20)

mb_substr()substr()的多字节安全版本,这意味着它适用于字符而非字节。这在UTF-8中最为明显,其中许多字符由两个或更多字节表示。

根据installation instructionsmbstring不是内置扩展程序。您必须通过使用适当的文件并正确配置PHP来启用它。有些信息可以在提供的链接中找到,您的虚拟主机应该可以帮助您完成剩下的工作。

对于Linux,请使用

进行安装

sudo apt-get install php7.0-mbstring

答案 1 :(得分:15)

把它扔进终端:

php -m | grep mb

如果显示mbstring,那么它应该有用。

答案 2 :(得分:1)

如果您具有root访问权限,则可以使用WHM Panel或使用命令行进行配置。我会告诉您如何使用WHM Panel来做到这一点 1.使用Root用户登录WHM 2.转到Easyapache
3.转到先前保存的配置
4.单击“基于配置文件开始自定义” 5.不要更改apache和php版本,只需单击下一步 6.单击php配置底部的穷举选项列表 7.选中MBString选项
附近的复选框 8.保存和建造 的 9。如果需要一段时间,请不要关闭浏览器窗口。请耐心等待。
你做完了!!!

答案 3 :(得分:-1)

错误告诉您正在尝试使用不存在的名为mb_substr的函数。

也许您可以使用substr函数http://php.net/manual/en/function.substr.php来实现相同的结果。 substr(strip_tags($ disc_t),0,10)将返回strip_tags($ disc_t)结果的前十个字符。