mb_convert_encoding, неопределенная функция, пока включена mbstring - PullRequest
29 голосов
/ 25 ноября 2011

У меня есть сервер (Ubuntu 11.10 x64) под управлением PHP 5.3.8 с Apache2 / MySQL. В настоящее время я работаю над проектом, в котором мне необходимо выполнить определенную кодировку символов, но я обнаружил, что ни одна из многобайтовых функций (mb_ *) не работает.

Однако, когда я смотрю в phpinfo (), я вижу, что многобайтовая поддержка включена.

Я пробовал такие вещи, как apt-get install php5-mbstring, php-mbstring, php-multibyte и т. Д. И т. Д., Но, похоже, ни один из них не работает.

Кто-нибудь может указать мне правильное направление для этого? Заранее спасибо!

edit: Исправлено путем перекомпиляции PHP (это был мой последний вариант, которого я изначально хотел избежать)

. / Configure --enable-mbstring

Странно, phpinfo () уже показала, что она включена. Я не знаю, почему это не сработало раньше: /

Ответы [ 3 ]

45 голосов
/ 01 ноября 2013

На многих новых серверах Linux по умолчанию не установлены многобайтовые модули PHP.Простым решением часто является установка php-mbstring.

В версиях Red Hat (CentOS, Fedora и т. Д.) Вы можете использовать yum install php-mbstring.

Убедитесь, что перезапускаете Apacheсервер потом.Используйте службу httpd restart для RH flavors.

3 голосов
/ 27 августа 2018

В случае вашей установки php5.6 аналогичен решению neilsimp1:

Запуск sudo apt-get install php7.0-mbstring, а затем sudo service php7.0-fpm перезагрузка сделали свое дело для меня.

sudo apt-get install php5.6-mbstring

и затем перезапустите службу Apache

sudo service apache2 restart.
0 голосов
/ 02 июля 2016

Иногда люди получают такие ошибки: фатальная ошибка: вызов неопределенной функции mb_convert_encoding () в /public_html/this/this.php в строке 188. Обычно ошибки такого рода встречаются на сайтах PHP и в фреймворке PHP. *

Похоже, PHP mbstring не установлен на вашем сервере.

Решение:

В моем случае я просто раскомментировал, расширение = php_mbstring.dll в файле php.ini, и проблема была решена.

Не забудьте перезапустить сервер apache после раскомментирования; extension = php_mbstring.dll

Код взят из этого блога: http://chandreshrana.blogspot.in/2016/01/call-to-undefined-function.html

...