Reputation: 18022
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.
Upvotes: 15
Views: 38277
Reputation: 771
If you're using cPanel and have access to your WHM panel then you need to enable mbstring PHP Extension from your EasyApache 4.
Just go top WHM Home » EasyApache 4 » Customize
The search for mbstring under PHP Extensions and enable that as per your PHP versions (php80-php-mbstring).
For me it worked perfectly.
Upvotes: 1
Reputation: 20312
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
Upvotes: 5
Reputation: 3912
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
Upvotes: 24
Reputation: 51807
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. [...]
Upvotes: 1
Reputation: 7231
This is a basic PHP function. It seems your web host does not have the mbstring PHP extension installed. Check your phpinfo(); and look for mbstring in it.
Upvotes: -2
Reputation: 5249
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
Upvotes: 1