apache PHP缺少mb_strpos函数?

l0oc07j2  于 2023-02-24  发布在  Apache
关注(0)|答案(6)|浏览(204)

我得到这个错误:

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

这很奇怪,因为mb_strpos()是在PHP 4中引入的,而我运行的是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

还有谁遇到过这样的问题,知道怎么解决吗?我找了找,还是找不到。
附言。我用的是centos5。

ecfsfe2w

ecfsfe2w1#

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

gj3fmq9x

gj3fmq9x2#

你需要通过在下面的代码中放置一个info.php来找出你的服务器使用的是哪种PHP:

<?php phpinfo(); ?>

然后你需要下载这个版本的php-mbstring,例如,如果你有PHP 8.0.15,那么你需要这样安装它:

sudo apt-get install php8.0-mbstring

然后重新启动apache 2服务:

sudo service apache2 restart
ozxc1zmp

ozxc1zmp3#

我猜您的PHP版本没有使用“--enable-mbstring”选项构建。
你可以用phpinfo()函数来检查。应该有一个“mbstring”部分。我的是这样的:

mbstring

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

fykwrbwg4#

听起来象它是简单的不再安装.请看一看the documentation
mbstring是一个非默认的扩展名。这意味着它在默认情况下是不启用的。你必须用configure选项显式地启用这个模块。[...]

dddzy1tm

dddzy1tm5#

如果您使用cPanel并且可以访问WHM面板,那么您需要从EasyApache 4启用mbstringPHP扩展。
只需转到顶部WHM主页EasyApache 4自定义
在PHP扩展下搜索mbstring并根据您的PHP版本启用它(php 80-php-mbstring)。
对我来说,它工作得很完美。

a9wyjsp7

a9wyjsp76#

这是一个基本的PHP函数。看起来你的网络主机没有安装mbstring PHP扩展。检查你的phpinfo();并在其中查找mbstring。

相关问题