The error “Call to undefined function mb_strcut()” typically occurs with PHP softwares or Laravel projects, when the PHP Multibyte String (mbstring) extension is not installed or enabled in your server environment. Laravel requires this extension for string manipulation with multi-byte characters. To resolve this error, you need to install and enable the mbstring extension.

Here are the steps to do this on various platforms:

Fix Call to undefined function mb_strcut() on Linux Ubuntu / Linunx Debian / Linux Mint:

To install and enable the mbstring extension, run the following commands:

sudo apt-get update
sudo apt-get install php-mbstring

After installation, restart the web server:

For Apache:

sudo service apache2 restart

For Nginx:

sudo service nginx restart
sudo service php-fpm restart

Fix Call to undefined function mb_strcut() on CentOS/RHEL/Fedora:

First, install the mbstring extension:

sudo yum install php-mbstring

or

sudo dnf install php-mbstring

Then, restart the web server:

For Apache:

sudo systemctl restart httpd

For Nginx:

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Fix Call to undefined function mb_strcut() on Windows (using XAMPP or WAMP):

For XAMPP:

  • Open the php.ini file located in the xampp/php/ directory.
  • Find the line ;extension=mbstring, and remove the semicolon (;) at the beginning of the line to uncomment it.
  • Save the php.ini file and restart the Apache server using the XAMPP control panel.

For WAMP:

  • Open the php.ini file located in the wamp/bin/php/php(version)/ directory.
  • Find the line ;extension=php_mbstring.dll, and remove the semicolon (;) at the beginning of the line to uncomment it.
  • Save the php.ini file and restart the Apache server using the WAMP control panel.

After following the appropriate steps for your platform, the “Call to undefined function mb_strcut()” error should be resolved.

If it still persists, make sure that the extension=mbstring line is not commented out in your php.ini file and that the web server has been restarted.

Other cause of the error Call to undefined function mb_strcut() on Linux

Some server installations have multiple PHP versions installed, such as PHP 8.0 and PHP 8.1. Occasionally, mbstring may be installed on one version, perhaps PHP 8.1, while you PHP Laravel app is using php8.0.

To fix the problem in this situation, follow the installation instruction fo mbstring extension, but make sure to target the correct PHP version. Here’s an example for installing mbstring on Ubuntu for PHP 8.1:

sudo apt-get update
sudo apt-get install php8.1-mbstring

Don’t forget to restart the Apache or Nginx server after installation.