php — Неустранимая ошибка: вызов неопределенной функции mb_substr()

спросил

Изменено 4 месяца назад

Просмотрено 70 тысяч раз

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

 
 

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

 Неустранимая ошибка: вызов неопределенной функции mb_substr() в /home/(website)/public_html/index.php в строке 308
 

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

3.19

  • php
  • строка
8

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

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

Чтобы узнать, установлена ​​ли mbstring: php-m | grep mbstring

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

sudo apt-get install php-mbstring

5

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

 php -m | grep мб
 

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

3

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

5. Не меняйте версию apache и php, просто нажмите «Далее».
6. Щелкните список исчерпывающих параметров в нижней части конфигурации php
7. Установите флажок рядом с параметром MBString
8. Сохраните и создайте
9. Не закрывайте окно браузера, если это займет некоторое время. Потерпи.
Готово!!!

Проблема была решена путем выполнения следующего пакета в Red Hat Linux 8.

 dnf install php-mbstring
 

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

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

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

mb_substr(3) [справочная страница php]

Войдите или зарегистрируйтесь, чтобы задать вопрос и присоединиться к нашему сообществу

Справочные страницы Linux и UNIX

 МБ_SUBSTR(3) 1 МБ_SUBSTR(3)
  mb_substr - Получить часть строки 
  СИНТАКСИС  
строка mb_substr (строка $str, int $start, [int $length = NULL], [string $encoding = mb_internal_encoding()])
ОПИСАНИЕ

Выполняет многобайтовую безопасную операцию substr(3) на основе количества символов. Позиция считается с начала $str. Первый символ- позиция актера равна 0. Позиция второго персонажа равна 1 и так далее. ПАРАМЕТРЫ
o $str - Строка, из которой извлекается подстрока. о $старт - Позиция первого символа для использования из $str. о $длина - Максимальное количество символов для использования из $str. Если он опущен или передан NULL, извлеките все символы до конца строки. о $кодирование
- Параметр
$encoding представляет собой кодировку символов. Если он опущен, будет использоваться значение внутренней кодировки символов. ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
mb_substr(3) возвращает часть $str, указанную параметрами $start и $length. СМ. ТАКЖЕ
mb_strcut(3), mb_internal_encoding(3). Группа документации PHP MB_SUBSTR(3)

Ознакомьтесь с этой связанной справочной страницей

 МБ_STRCUT(3) 1 МБ_STRCUT(3)
  mb_strcut — Получить часть строки 
  СИНТАКСИС  
строка mb_strcut (строка $str, int $start, [int $length = NULL], [string $encoding = mb_internal_encoding()]) ОПИСАНИЕ
mb_strcut(3) извлекает подстроку из строки аналогично mb_substr(3), но работает с байтами, а не с символами.
Если положение разреза оказывается между двумя байтами многобайтового символа, разрез выполняется, начиная с первого байта этого символа. Это также отличие от функции substr(3), которая просто обрезает строку между байтами и, таким образом, приводит к искажению байта. последовательность. ПАРАМЕТРЫ
o $str - Струна обрывается. о $старт - Начальная позиция в байтах. о $длина - Длина в байтах. Если опущен или передан NULL, извлечь все байты до конца строки. о $кодирование
- Параметр
$encoding представляет собой кодировку символов. Если он опущен, будет использоваться значение внутренней кодировки символов. ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
mb_strcut(3) возвращает часть $str, указанную параметрами $start и $length. СМ. ТАКЖЕ
mb_substr(3), mb_internal_encoding(3). Группа документации PHP MB_STRCUT(3)

справочная страница

Еще 2 обсуждения, которые могут вас заинтересовать

1.