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(),这意味着它适用于字符而不是字节。这在 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. 单击 Start Customizing based on Profile。
5.不要更改apache和php版本,直接点next即可。
6. 单击 php 配置底部的详尽选项列表
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) 结果的前十个字符。

于 2012-12-26T03:37:52.757 回答