我正试图在CentOS 5.3 VMware"盒子"上安装indefero,我遇到了一个问题.在安装的早期,我得到一个错误,我已经能够缩小到这个范围:
[root@code /var/www/html]# cat x.php [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手册,mb_internal_encoding函数应该是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已被禁用(暂时).
我该如何解决?
mbstring是一个"非默认"扩展,默认情况下不启用; 请参阅本手册的这一页:
安装
mbstring是一个非默认扩展名.这意味着默认情况下不启用它.您必须使用configure选项显式启用该模块.有关详细信息,请参阅安装部分
因此,您可能必须启用该扩展,修改php.ini文件(并重新启动Apache,以便将您的修改考虑在内)
我不使用CentOS,但您可能必须首先使用类似的东西安装扩展(例如,请参阅此页面,这似乎给出了解决方案):
yum install php-mbstring
(包名可能有点不同;所以,使用yum搜索得到它:-))
对于Debian/Ubuntu:
sudo apt-get install php7.0-mbstring