Неустранимая ошибка: вызов функции undefined mb_substr()

Я хотел видеть ваш вклад в эту проблему, которую я сейчас испытываю. Оказывается, что:

 <?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).'...';
  }
?>

каким-то образом дает мне ошибку на сайте, ошибка показывает:

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

Я не совсем понимаю, что они означают mb_substr, это ошибка PHP-версии? В настоящее время я использую PHP 5.3.19

Ответ 1

Вставьте это в терминал:

php -m | grep mb

Если появляется mbstring, тогда он должен работать.

Ответ 2

mb_substr() является многобайтовой версией substr(), то есть он работает с символами, а не байтами. Это наиболее заметно в UTF-8, где многие символы представлены двумя или более байтами.

В соответствии с инструкциями mbstring не является встроенным расширением. Вы должны включить его, имея правильные файлы и правильно настроив PHP. Некоторая информация может быть найдена в приведенной ссылке, ваш веб-хост должен быть в состоянии помочь вам с остальными.

Для Linux установите с помощью

sudo apt-get install php7.0-mbstring

Ответ 3

Если у вас есть root-доступ, вы можете настроить его с помощью панели WHM или с помощью командной строки. Я дам вам знать, как вы можете это сделать, используя панель WHM.
1. Войдите в свой WHM с корневым пользователем
2. Перейдите в Easyapache
3. Перейдите к ранее сохраненной конфигурации
4. Нажмите "Начать настройку" на основе профиля.
5. Не изменяйте версию apache и php, просто нажмите Далее.
6. Нажмите "Исчерпывающий список опций" внизу конфигурации php

7. Установите флажок рядом с опцией MBString
8. Сохранить и построить
9. Не закрывайте окно браузера, если требуется некоторое время. Будьте терпеливы.
Вы сделали!!!

Ответ 4

Ошибка говорит вам, что вы пытаетесь использовать функцию с именем mb_substr, которая не существует.

Возможно, вы можете добиться того же результата, используя вместо этого функцию substr http://php.net/manual/en/function.substr.php. substr (strip_tags ($ disc_t), 0, 10) вернет первые десять символов результата strip_tags ($ disc_t).