Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal error: Call to undefined function mb_substr()

Tags:

I wanted to see your input on this concern I'm currently experiencing. It turns out that:

 <?php
$disc_t=$name; 
  if(strlen($disc_t)<=15)
  {
   $name_now=mb_substr( strip_tags($disc_t), 0, 10 ).'';
  }
  else
  {
   $name_now=mb_substr( strip_tags($disc_t), 0, 10).'...';
  }
?>

is somehow giving me an error on the site, the error shows:

Fatal error: Call to undefined function mb_substr() in /home/(website)/public_html/index.php on line 308

I don't quite understand what they mean by mb_substr, is this a PHP version error? I am currently using PHP 5.3.19

like image 353
Blahwhore Avatar asked Dec 26 '12 03:12

Blahwhore


2 Answers

mb_substr() is a multibyte-safe version of substr(), meaning it works with characters as opposed to bytes. This is most noticeable in UTF-8, where many characters are represented by two or more bytes.

According to the installation instructions, mbstring is not a built-in extension. You must enable it by having the appropriate files and configuring PHP correctly. Some information can be found in the link provided, your webhost should be able to help you with the rest.

To see if mbstring is installed: php -m | grep mbstring

For Linux, install using

sudo apt-get install php-mbstring

like image 85
Niet the Dark Absol Avatar answered Sep 29 '22 00:09

Niet the Dark Absol


Throw this into a terminal:

php -m | grep mb

If mbstring shows up then it should work.

like image 37
Sverri M. Olsen Avatar answered Sep 28 '22 23:09

Sverri M. Olsen