我正在尝试在CentOS 5.3 VMware'盒子上安装indefero,我遇到了一个问题。 在安装的早期,我得到一个错误,我已经能够缩小到这个范围:
[root@code /var/www/html]# cat x.php
<?php
mb_internal_encoding("UTF-8");
?>
[root@code /var/www/html]# php x.php
PHP Fatal error: Call to undefined function mb_internal_encoding() in
/var/www/html/x.php on line 2
通过Apache通过http调用此脚本时出现同样的错误。 现在根据PHP manual the mb_internal_encoding function应该是PHP 5内置的。
我有CentOS 5.3 i386(Linux代码2.6.18-53.1.21.el5#1 SMP Tue May 20 09:34:18 EDT 2008 i686 i686 i386 GNU / Linux),我安装了PHP 5.2.9。
[root@code /var/www/html]# php -v
PHP 5.2.9 (cli) (built: Jul 8 2009 06:03:36)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
我仔细检查过:selinux已被禁用(暂时)。
我该如何解决这个问题?
答案 0 :(得分:62)
mbstring是“非默认”扩展名,默认情况下不启用;请参阅手册的this page:
<强>安装强>
mbstring是非默认扩展名。 这意味着它未启用 默认。您必须明确启用 带有configure选项的模块。 有关详细信息,请参阅“安装”部分
因此,您可能必须启用该扩展,修改php.ini文件(并重新启动Apache,以便将您的修改考虑在内)
我不使用CentOS,但您可能必须首先安装扩展程序,使用类似的内容(例如,请参阅this page,这似乎可以提供解决方案):
yum install php-mbstring
(包名可能有点不同;所以,使用yum搜索得到它:-))
答案 1 :(得分:19)
对于Debian / Ubuntu:
sudo apt-get install php7.0-mbstring
答案 2 :(得分:4)
如果有人在ubuntu中安装php-mbstring
软件包时遇到问题,请执行以下操作
sudo apt-get install libapache2-mod-php5
答案 3 :(得分:2)
如果您不知道如何在Windows中启用php_mbstring扩展名,请打开php.ini并删除扩展名前的分号:
更改此
;extension=php_mbstring.dll
对此
extension=php_mbstring.dll
修改后,您需要重置php服务器。
答案 4 :(得分:0)
对于OpenSUse(zypper包管理器):
zypper install php5-mbstring
和
zyper install php7-mbstring
另一方面,您可以通过YaST软件管理器进行搜索。
请注意,您必须重启apache http server:
systemctl restart apache2.service
答案 5 :(得分:0)
apt-get install php7.3-mbstring
解决了ubuntu上的问题,php版本是php-fpm 7.3