PHP缺少mb_strpos函数?

时间:2012-03-13 21:04:41

标签: php apache

我收到此错误:

PHP Fatal error:  Call to undefined function mb_strpos() in /my/file.php

这很奇怪,因为在PHP 4中引入了mb_strpos(),而我正在运行PHP 5.3.3

$ php -v
PHP 5.3.3 (cli) (built: Feb 22 2012 19:38:14) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

其他人遇到这样的事情并知道如何解决它?我搜查了,我无法理解。

PS。我正在运行centOS 5。

4 个答案:

答案 0 :(得分:15)

MBString不是PHP中的默认扩展名,您必须安装它 如果你正在运行linux试试

yum install  php-mbstring.x86_64 # for RedHat derivative systems

作为root用户 或

apt-get install php-mbstring.x86_64 # for Debian derivative systems
在Windows上

你必须编辑php.ini才能使用扩展名dll库

注意:PHP 5仍然支持mb_strpos

答案 1 :(得分:1)

我猜你的PHP版本不是用“--enable-mbstring”选项构建的。

您可以使用phpinfo()功能进行检查。应该有一个“mbstring”部分。我有这个:

mbstring

Multibyte Support   enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled

答案 2 :(得分:1)

听起来好像没有安装。请看一下the documentation

  

mbstring是非默认扩展名。这意味着默认情况下不启用它。您必须使用configure选项显式启用该模块。 [...]

答案 3 :(得分:-1)

这是一个基本的PHP功能。 您的Web主机似乎没有安装mbstring PHP扩展。 检查你的phpinfo();并在其中寻找mbstring。