I get this error:
PHP Fatal error: Call to undefined function mb_strpos() in /my/file.php
Which is odd because mb_strpos()
was introduced in PHP 4, and I'm running 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
Anybody else run into something like this and know how to fix it? I searched and I can't figure it out.
PS. I'm running centOS 5.
MBString is not a default extension in PHP and you have to install it if you are running linux try
yum install php-mbstring.x86_64 # for RedHat derivative systems
as a root user or
apt-get install php-mbstring.x86_64 # for Debian derivative systems
on windows you have to edit php.ini to use the extension dll library
Note: mb_strpos still supported in PHP 5
I would guess that your version of PHP wasn't built with the "--enable-mbstring" option.
You can check with the phpinfo()
function. There should be a "mbstring" section. Mine has this:
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled
sounds like it's simply not installed. please take a look at the documentation:
mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. [...]
You need to find out which PHP your server is using by placing a info.php with this code:
<?php phpinfo(); ?>
Then you need to download php-mbstring for this version, e.g. if you have PHP 8.0.15 then you need to install it like this:
sudo apt-get install php8.0-mbstring
Then restart the apache2 service:
sudo service apache2 restart
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With