我收到此错误:
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。
答案 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。