Fatal error: Call to undefined function mb_strlen()

Php

Php Problem Overview


I'm trying to make a donation center which I use the source code from Totorialzine.

Everything works fine for me at this moment so far but the only problem I was struggling on and trying to look at for the whole day and can't figure what is actually wrong with the code exactly

here is what I get when I submit the comment on the page when my visitors donate.

Fatal error: Call to undefined function mb_strlen() in /home/yoursn0w/public_html/livetv/premium/thankyou.php on line 14

and here is the code in the php file.

<?php

require "config.php";
require "connect.php";

if(isset($_POST['submitform']) && isset($_POST['txn_id']))
{
	$_POST['nameField'] = esc($_POST['nameField']);
	$_POST['websiteField'] =  esc($_POST['websiteField']);
	$_POST['messageField'] = esc($_POST['messageField']);
	
	$error = array();
	
	if(mb_strlen($_POST['nameField'],"utf-8")<2)
	{
		$error[] = 'Please fill in a valid name.';
	}
	
	if(mb_strlen($_POST['messageField'],"utf-8")<2)
	{
		$error[] = 'Please fill in a longer message.';
	}
	
	if(!validateURL($_POST['websiteField']))
	{
		$error[] = 'The URL you entered is invalid.';
	}

	$errorString = '';
	if(count($error))
	{
		$errorString = join('<br />',$error);
	}
	else
	{
		mysql_query("	INSERT INTO dc_comments (transaction_id, name, url, message)
						VALUES (
							'".esc($_POST['txn_id'])."',
							'".$_POST['nameField']."',
							'".$_POST['websiteField']."',
							'".$_POST['messageField']."'
						)");
		
		if(mysql_affected_rows($link)==1)
		{
			$messageString = '<a href="donate.php">You were added to our donor list! &raquo;</a>';
		}
	}
}
	
?>

I have my database in the phpMyAdmin uploaded completed

here is where I follow the instruction of the installation

http://tutorialzine.com/2010/05/donation-center-php-mysql-paypal-api/

Php Solutions


Solution 1 - Php

The function mb_strlen() is not enabled by default in PHP. Please read the manual for installation details:

http://www.php.net/manual/en/mbstring.installation.php

Solution 2 - Php

To fix this install the php7.0-mbstring package:

sudo apt install php7.0-mbstring

Solution 3 - Php

For me the following command did the trick

sudo apt install php-mbstring

Solution 4 - Php

On Centos, RedHat, Fedora and other yum-my systems it is much simpler than the PHP manual suggests:

yum install php-mbstring
service httpd restart

Solution 5 - Php

For me, this worked in Ubuntu 14.04 and for php5.6:

$ sudo apt-get install php5.6-mbstring

Solution 6 - Php

In case Google search for this error

Call to undefined function mb_ereg_match()

takes somebody to this thread. Installing php-mbstring resolves it too.

Ubuntu 18.04.1, PHP 7.2.10

sudo apt-get install php7.2-mbstring

Solution 7 - Php

PHP 7.2 Ubuntu 18.04

sudo apt install php-mbstring

Solution 8 - Php

This worked for me on Debian stretch

sudo apt-get update
sudo apt install php-mbstring
service apache2 restart

Solution 9 - Php

This question looks to be in relation to PHP on Unix. However, for anyone getting to this question for PHP on Windows, see https://www.php.net/manual/en/install.pecl.windows.php.

Since multi-byte string support is a core PHP extension, all that is necessary on Windows is to uncomment this line in your php.ini:

extension=php_mbstring.dll

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAliView Question on Stackoverflow
Solution 1 - PhpAJ.View Answer on Stackoverflow
Solution 2 - PhpUsmanView Answer on Stackoverflow
Solution 3 - PhpwebmasterView Answer on Stackoverflow
Solution 4 - PhpkubanczykView Answer on Stackoverflow
Solution 5 - PhpMona JalalView Answer on Stackoverflow
Solution 6 - PhpfrmbelzView Answer on Stackoverflow
Solution 7 - PhpM_R_KView Answer on Stackoverflow
Solution 8 - PhpKevinView Answer on Stackoverflow
Solution 9 - PhpdarrenpView Answer on Stackoverflow