调用未定义的函数mb_strimwidth

时间:2013-01-10 09:50:30

标签: php string laravel truncation mbstring

几个月前,我制作了一个简短的代码,使用mb_strimwidth()将一些文本完全放入表格单元格中,将点放在截断字符串的末尾。 现在,经过一段时间,我试图执行相同的代码,它出现了这个错误:

Fatal error: Call to undefined function mb_strimwidth() in ...

我试图找到mbstring.php文件,当我找到mb_strimwidth()函数时,我发现它已不再实现了。怎么可能? 但我的主要问题是:我如何得到与mb_strimwidth()相同的结果? 我想用循环和mb_strwidth()重写函数,但是mbstring.php文件中的所有函数都是空的。

4 个答案:

答案 0 :(得分:17)

所有mb_*函数都由名为Multibyte String的PHP扩展提供,内部名称为mbstring

您可能没有激活或安装扩展程序。在大多数Linux发行版上,您可以安装软件包php-mbstring来安装和激活此扩展程序。

如果您使用mod_php

,之后需要重新启动Apache

答案 1 :(得分:4)

刚刚遇到这个问题,如果您使用的是Linux,只需安装包minimum = 16 # the max score is 16 with a group of 4-scored subgroups for i in range(3): # ... some code # ... more code temp = sum(len(set(x)) for x in my_groups) if temp < minimum: minimum = temp 并重新启动Apache。

php-mbstring

答案 2 :(得分:1)

您需要安装php-mbstring软件包尝试。

检查php版本

php -v

然后检查mbstring是否已安装并启用

php -i | grep mbstring

如果未安装,请运行此命令

sudo apt-get install php-mbstring
  

如果您是 php其他版本示例: 7.1、7.2、7.0 基于   运行这样的命令:

sudo apt-get install php7.1-mbstring 

如果您正在使用nginx服务器运行laravel ..然后检查nginx配置文件,您已在conf文件中加载了哪个版本。

转到cd /etc/nginx/sites-available并打开您的配置文件。  如果要在nginx conf文件中加载php7.2版本。.

fastcgi_pass Unix:/var/run/php/php7.1-fpm.sock;

然后您需要安装 7.2 mbstring软件包。

sudo apt-get install php7.2-mbstring 

重新启动 apache2服务器

 sudo service apache2 restart

答案 3 :(得分:0)

如果您已经安装了mbstring,则必须在php.ini文件中调用此扩展名。

首先,检测您的php-fpm.ini文件或php.ini在哪里。

运行命令

php -i | grep php.ini

它返回php.ini文件的路径。

例如

/etc/php.ini

然后使用VIM或其他编辑器打开文件

vim /etc/php.ini

然后将mbstring扩展名添加到php.ini文件中

extension=mbstring.so;

最后,重新启动php-fpm

systemctl restart php-fpm