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

Bla*_*ore 15 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).'...';
  }
?>
Run Code Online (Sandbox Code Playgroud)

是以某种方式在网站上给我一个错误,错误显示:

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

我不太明白他们的意思mb_substr,这是PHP版本错误吗?我目前正在使用PHP 5.3.19

Nie*_*sol 22

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

根据安装说明,mbstring不是内置扩展.您必须通过使用适当的文件并正确配置PHP来启用它.有些信息可以在提供的链接中找到,您的webhost应该能够帮助您完成剩下的工作.

对于Linux,请使用安装

sudo apt-get install php7.0-mbstring

  • 您不应该安装`php7.0-mbstring`,因为即使PHP升级到7.1及更高版本,它仍将保留在7.0版本.你应该安装`php-mbstring` (2认同)

Sve*_*sen 15

把它扔进一个终端:

php -m | grep mb
Run Code Online (Sandbox Code Playgroud)

如果mbstring出现,那么它应该工作.

  • 查看你的`php.ini`文件.搜索`extension =`并查看扩展列表.如果其中有一个名为`mbstring`的那个,那么应该安装扩展名.如果该行被注释掉(在它前面有一个`;`那么它就没有启用...删除`;`,然后重启Apache(或你正在使用的任何服务器). (6认同)