我试图在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应该是内置在PHP5中的。
我有PHP5.3 i386 (Linux 2.6.18-53.1.21.el5 #1SMP Tue May 20 09:34:18EDT 2008 i686 i686 i386 GNU/Linux),我已经安装了PHP5.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已被禁用(目前)。
我该如何解决这个问题?
发布于 2009-08-01 02:03:24
by字符串是一个“非默认”扩展,默认情况下不启用;参见手册的this page:
Installation
mbstring是非默认扩展名。这意味着它在默认情况下不会启用。您必须使用configure选项显式启用该模块。有关详细信息,请参阅安装部分
因此,您可能需要启用该扩展,修改php.ini文件(并重新启动Apache,以便考虑您的修改)。
我不使用CentOS,但您可能必须首先安装扩展,使用类似下面的方法(例如,请参阅,它似乎提供了一个解决方案):
yum install php-mbstring
(包名可能稍有不同;因此,请使用yum搜索获取它:-)
发布于 2016-10-27 05:54:44
对于Debian/Ubuntu:
sudo apt-get install php7.0-mbstring
发布于 2018-12-27 07:24:02
如果您不知道如何在windows中启用php_mbstring扩展,请打开您的php.ini并删除扩展前的分号:
改变这一点
;extension=php_mbstring.dll
到这个
extension=php_mbstring.dll
修改后,您需要重置您的php服务器。
https://stackoverflow.com/questions/1216274
复制