几个月前,我制作了一个简短的代码,使用mb_strimwidth()
将一些文本完全放入表格单元格中,将点放在截断字符串的末尾。
现在,经过一段时间,我试图执行相同的代码,它出现了这个错误:
Fatal error: Call to undefined function mb_strimwidth() in ...
我试图找到mbstring.php文件,当我找到mb_strimwidth()
函数时,我发现它已不再实现了。怎么可能?
但我的主要问题是:我如何得到与mb_strimwidth()
相同的结果?
我想用循环和mb_strwidth()
重写函数,但是mbstring.php文件中的所有函数都是空的。
答案 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