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

Php 致命错误:调用未定义的函数mb_substr(),php,string,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).'...'; } ?> 我不太明白他们所说的mb_substr是什么意

我想看看你对我目前所面临的问题的看法。 事实证明:

 <?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).'...';
  }
?>
我不太明白他们所说的
mb_substr
是什么意思,这是PHP版本错误吗? 我目前使用的PHP5.3.19是的多字节安全版本,这意味着它使用字符而不是字节。这在UTF-8中最为明显,其中许多字符由两个或更多字节表示

根据,
mbstring
不是内置扩展。您必须通过拥有适当的文件并正确配置PHP来启用它。在提供的链接中可以找到一些信息,您的网络主机应该能够帮助您完成其余的工作

要查看是否安装了mbstring,请执行以下操作:
php-m | grep mbstring

对于Linux,请使用


sudo apt get install php mbstring

错误告诉您试图使用一个名为mb_substr的函数,但该函数不存在


也许您可以使用substr函数来实现相同的结果。substr(strip_标记($disc_t),0,10)将返回strip_标记($disc_t)结果的前十个字符

将其放入终端:

php -m | grep mb

如果显示
mbstring
,则它应该可以工作。

如果您具有root访问权限,则可以使用WHM面板或命令行对其进行配置。我会让您知道如何使用WHM面板进行操作。
1.使用Root用户登录您的WHM
2.转到Easyapache
3.转到以前保存的配置
4.单击开始基于配置文件进行自定义。
5.不要更改apache和php版本,只需单击“下一步”。
6.单击php配置底部的详尽选项列表
7.选中MBString选项附近的复选框
8.保存并生成
9。如果需要一段时间,请不要关闭浏览器窗口。耐心点。

你完了

您的php没有启用mbstring。您的服务器可能没有mb_str模块如何启用此模块?我不熟悉服务器配置。你能编辑你的php.ini文件吗?如果你不能回答这个问题,你在运行什么?我想我应该能够在我的网站中编辑php.ini,但是我可以通过根cpanel启用它吗?或者我的帐户列表中的cpanel?(示例:/home/blahwhore/public_html/)我看到
mbstring.encoding_translation
php.ini
文件中设置为OFFLook。搜索
extension=
并查看扩展列表。如果其中有一个名称为
mbstring
,则应安装扩展。如果该行被注释掉(前面有一个
),则该行未启用。。。删除
,然后重新启动Apache(或您正在使用的任何服务器)。问题解决后,原来我没有像您提到的那样启用选项。您知道我在哪里下载文件以便安装mb_substr吗?或者我只是运行一个命令?您不应该安装
php7.0-mbstring
,因为即使PHP升级到7.1及更高版本,它仍将保持在7.0版本。相反,您应该安装非常安全的
php mbstring
,除非您将其推送到禁用此模块的prod,否则它将使应用程序崩溃:)@GregWoz是的,但这就是部署测试的目的:pYeah如果没有大型遗留系统需要修复=)
php -m | grep mb