Fatal error: Call to undefined function mb_substr() Error
When working on your website, you may encounter an error stating: Fatal error: Call to undefined function mb_substr(). This is caused by a particular module not being included in your PHP configuration. In this article, we will teach you how to resolve the issue to get your site back up and running.
What causes this error?
This error is caused because you are missing the mbstring module within your PHP configuration. While not required by most software, some may use it for multibyte character encoding. If the code that you are using requires multibyte character encoding, you will receive this error when the mb_substr() function is called.
How do I fix this error?
To resolve this error, you would need to install the mbstring PHP module. If you are on a VPS or dedicated server, this can be done quite easily.
If you do not have root access
If you do not have root access on your server, you will need to either obtain root access, or submit a ticket with technical support so that they may compile PHP with suppport for mbstring. Once mbstring is enabled on the server, your errors should no longer persist.
If you have root access
If you have root access to your VPS or dedicated server, you may simply use EasyApache to recompile PHP with mbstring support. To do so, you may follow these instructions:
First, you will need to log into your WHM as root.
Next, search for EasyApache in the top left search box, then click on EasyApache
Now that you are on this page, select the radio button next to Previously Saved Config, then click Start customizing based on profile.
Next, you will be prompted to select your Apache version. Just select keep the already selected options. We will not need to make any changes to Apache.
After the Apache screen, you will then select your PHP version. You will want to keep this the same as what is already selected as well, since changing your PHP version can potentially break your existing sites if they require a higher or lower version of PHP. Just click the Next Step to visit the next page.
After selecting your PHP version, you will be sent to the Short Options List. Scroll to the bottom of the page and click on Exhaustive Options List.
Now that you are on the Exhaustive Options List, you will see Mbstring under the PHP section. To enable mbstring, click the checkbox to the left of it. Once it is selected, scroll to the bottom and click on Save and Build.
Once you click the Save and Build button in EasyApache, it will begin building. Be sure not to close the window or navigate away from the page. Doing so can cause issues to your Apache configuration. Once it has completed, your errors should no longer persist.
We value your feedback!
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
new! - Enter your name and email address above and we will post your feedback in the comments on this page!
2014-03-12 11:13 am
Thank you very much :) Very clear, simple and effective tutorial.
I'm working on a directory (using phplinkdirectory) of classifed ads websites and had this error every time when I was trying to add a link
Just ran a test and VOILA!! error has disapeared :)
p.s. if I could suggest >> mark in red and bold the part: "Be sure not to close the window or navigate away from the page"
thank you one more time :)
2014-03-12 11:30 am
Thank you for letting us know. I'm glad this article was helpful. I have highlighted the the notification as you suggested.
If you have any further questions, feel free to post them below.
2014-05-14 2:58 am
Great Help !!!
Lots of cheers.. it works and data is being pulled by enabling Mbstring.